2017-10-18 98 views
-1

有沒有辦法使用多個MySQL的UPDATE只有1個查詢?多個MySQL更新與1查詢

我需要這樣的東西,但下面的代碼似乎是不正確的。

$sql = "UPDATE car_models SET date='$date' WHERE "; 

foreach ($modelos as $mod){ 
    $sql .= "(name='$mod->Label' AND car='$mod->model') AND "; 
} 

$sql = substr($sql, 0, -4); 
$res = mysqli_query($con, $sql);  

最後我期待有$ SQL這樣的:

$sql = "UPDATE car_models SET date='$date' WHERE (name='$mod->Label' AND car='$mod->model') AND (name='$mod->Label' AND car='$mod->model') AND (name='$mod->Label' AND car='$mod->model')"; 

它應該工作?或者有不同的方式來做到這一點?

感謝

+0

'$ SQL =(NAME = '$國防部 - >標籤',並且車= '$國防部 - >模式')以及「; -'這行不應該工作,檢查是否這是你實際上有的。 – svgrafov

+0

*「它應該工作嗎?」*不,這裏有一個語法錯誤,注意語法高亮?缺少一個引號。 –

+0

我希望這不是一個壞貼。 –

回答

1

試圖把OR而不是AND在字符串的結尾:

$sql .= "(name='$mod->Label' AND car='$mod->model') OR "; 

,並密切關注""

+0

它的工作,非常感謝。 – rhundler

0

你可以做UPDATE car_models SET date='$date' WHERE name IN $array_of_car_name AND car IN $array_of_car_model