$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);
这个查询没有更新,我被困在这里请帮帮我......
答案 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;