你应该使用引号:
mysql_query("UPDATE items SET link = '{$res2}' WHERE id = $row[0]");
而且这将是理想的使用函数mysql_escape_string()函数。
所以:
$rez2 = mysql_escape_string(get_final_url($url));
你也正在尝试使用$行[0]为纽带和ID。很可能你希望$ row [0]元素是一个ID,并且像$ row [n],其中n> 0是一个链接。但是,如果你仍然想使用链接,您应该按以下方式查询:
$result2 = mysql_query("UPDATE items SET link = '$res2' WHERE link = {$row[0]}");
而且不要忘了逃跑$行
这是一个好主意,用mysql_fetch_assoc()函数 - 中这种情况下你会得到一个关联数组,所以你可以通过sql列名访问元素。而作为结果,你可以这样做:
$result = mysql_query("SELECT id, link FROM items LIMIT 3");
while($row = mysql_fetch_assoc($result))
{
$url=($row['link']);
$rez2 = mysql_escape_string(get_final_url($url));
$result2 = mysql_query("UPDATE items SET link = '{$res2}' WHERE id = {$row['id']}")
or die(mysql_error());
}
此外,如果ID是你不需要LIMIT 1更新查询主键。
明白了'$ rez2'不像'{$ res2 }' 你是reeeaaalll ggooood ... Thx一堆 – Ossi 2009-10-04 07:02:37