2012-10-30 101 views
-1

好吧,這將是我最後一次張貼在這裏今天,都問你們enougth爲什麼我可怕的代碼dosnt工作:)打開文本文件

我想運行一個查詢更新所有問題具有文本文檔內容的列的值。我的數據庫看起來如下:

Attribute_id | value 
64 | Data.txt 
109 | other data 
64 | Data2.txt 
109 | other data 

如果你看一下我的腳本,你可以看到什麼,我試圖做的,現在我附和查詢最終的結果是在這裏:http://dev.central-pet-supplies.co.uk/test.php

它返回 UPDATE SET mage_catalog_product_entity_text值= '陣列' WHERE值= '13685.txt' 然而陣列應該是文本文件內容

這裏是腳本:

<?php 

mysql_connect ("localhost","cpsdev_mage1","********"); 
mysql_select_db ("cpsdev_mage1"); 

$sql = "select value from mage_catalog_product_entity_text WHERE Attribute_id = 64"; 
$result = mysql_query ($sql) or die($myQuery."<br/><br/>".mysql_error()); 

while($row = mysql_fetch_array($result,MYSQL_ASSOC)) 
{ 
$lines = file('http://dev.central-pet-supplies.co.uk/media/import/' . $row['value']); 
$query3 = "UPDATE mage_catalog_product_entity_text " . " SET value= '" . $lines . "'   WHERE value = '" . $row['value'] . "'"; 
echo $query3 ."<br>"; 
} 

?> 

編輯:將文件更改爲file_get_contents,現在正在工作。

+0

請注意:請注意'mysql_xx()'函數已被視爲已過時並且已被棄用。如果可能的話,你應該避免使用它們。 PHP手冊建議切換到'mysqli_xx()'函數或PDO庫。在這裏看到更多的信息:http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-function-in-php – SDC

回答

0

file()在整行文件中讀入每一行作爲數組中的新條目。既然你不希望出現這種情況,你可以通過把

$lines = implode("\n", $lines); 

後結合在一起使用implode()行:

$lines = file('http://dev.central-pet-supplies.co.uk/media/import/' . $row['value']); 

或者,通過使用file_get_contents()代替file(),這將返回整個文件的內容作爲一個字符串,而不是數組:

$lines = file_get_contents('http://dev.central-pet-supplies.co.uk/media/import/' . $row['value']); 
0

你不顯示在那裏$lines來自但是它的一個數組我假設文本文件中的行。請使用類似file_get_contents的內容來將文本文件的內容作爲單個字符串來代替。