不更新mysql中的多行

时间:2013-01-10 13:00:03

标签: php mysql

$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);

这个查询没有更新,我被困在这里请帮帮我......

4 个答案:

答案 0 :(得分:1)

修改您的查询:

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

整数不需要撇号(它们是可选的,但最好使用纯int值)。

同样在IN声明中,声明'之前和之后不应有(...)

答案 1 :(得分:0)

据我所知,我们需要从QUERY中删除IN标记周围的单引号。

更新

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

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

代码可以运行。

答案 2 :(得分: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);

答案 3 :(得分:0)

这可以帮助您:

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