-1

好的,这将是我今天在这里的最后一篇文章,已经向你们询问了很多关于为什么我的糟糕代码不起作用的问题 :)

我正在尝试运行查询以使用文本文档内容更新列的所有值。我的数据库如下所示:

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 mage_catalog_product_entity_text SET value= 'Array' WHERE value = '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 并且现在可以使用。

4

2 回答 2

0

您没有显示$lines来自哪里,但它是我假设文本文件中的行的数组。使用类似file_get_contents的方法将文本文件的内容作为单个字符串获取。

于 2012-10-30T13:01:55.807 回答
0

file()读入整个文件,每行作为数组中的一个新条目。既然你不想要那样,你可以implode()通过把这些线连接在一起使用

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

后:

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

或者,通过使用file_get_contents()instead of file(),它将整个文件的内容作为字符串而不是数组返回:

$lines = file_get_contents( 'http://dev.central-pet-supplies.co.uk/media/import/' . $row['value']);
于 2012-10-30T13:01:15.330 回答