2013-01-10 29 views
0
$match_id = 123; // this is the value to be updated 
$update_item_number = "(3,4,5)"; // this is the id no where the value to be updated 
//update query 
$orders = "UPDATE orders SET item_number='$match_id' WHERE order_id IN'".$update_item_number ."'"; 
mysql_query($orders); 

此查詢不更新,我在這裏停留,請幫我...沒有更新multipale排在MySQL

+0

'mysql_error'說什麼? – hsz

+0

向'mysql_error()'添加一些調用以查看數據庫是否返回錯誤消息。 – Sirko

+0

回顯查詢並直接在查詢瀏覽器或其他mysql編輯器中運行 –

回答

1

修改查詢:

"UPDATE orders SET item_number=$match_id WHERE order_id IN $update_item_number"; 

你不需要爲整數撇號(它們是可選的,但更好地使用純粹的int值)。

同樣在IN聲明不應該有'前後語句(...)

+0

謝謝大家@hsz非常感謝你們所做的一切! – Joy07

+0

@ user1600932如果您發現我的答案有幫助,請記住在我的答案左邊打勾。 – hsz

0

據我所知,我們需要從QUERY中移除IN標記周圍的單引號。

UPDATE

$orders = "UPDATE orders SET item_number='$match_id' WHERE order_id IN'".$update_item_number ."'"; 
mysql_query($orders); 

TO

$orders = "UPDATE orders SET item_number='$match_id' WHERE order_id IN".$update_item_number; 
mysql_query($orders); 

和代碼將工作。

+0

PLZ在IN後增加空格。只是一個建議。不介意 –

0
$update_item_number = "(3,4,5)"; 

你不能做到這樣的,因爲它會採取價值作爲一個完整的字符串,

相反,你可以不喜歡這個 -

$match_id = 123; // this is the value to be updated 
$orders = "UPDATE orders SET item_number='$match_id' WHERE order_id IN (3,4,5)"; 
mysql_query($orders); 
0

這可以幫助你:

UPDATE 'table_name' SET field_name = $your_value WHERE field_name IN $condition_array;