你應該使用引號:
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