множественный UPDATE

250
06 сентября 2017, 15:20

Как за один запрос обновить базу? Мой код почему то не работает (

$values = '';
foreach($return as $tel){
    //mysqli_query($mysqli, "UPDATE `topic` SET `code`='".$tel['code']."',`simple` = 'true' WHERE `id` = '".$tel['id']."'"); // много много раз
    $values .= "('".$tel['id']."', '".$tel['code']."', 'true'),"; //вместо запроса выше, я хочу собрать все в одну строку...
}
if(!empty($values)){
    //...и за циклом за один запрос обновить базу
    $values=preg_replace("/\,$/", "", $values); //отрезаем последнюю запятую
    mysqli_query($mysqli, "UPDATE `topic` (`id`, `code`, `simple`) VALUES ".$values."");
}
Answer 1

формат запроса UPDATE у вас неверный. Надо так:

UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; Источник

А решение Ваше тут

Answer 2

Всем спасибо за внимание, решил свою проблему следующим образом

mysqli_query($mysqli, "INSERT INTO `topic` (`id`, `code`, `simple`) VALUES ".$values." ON DUPLICATE KEY UPDATE `code`=VALUES(`code`),`simple`=VALUES(`simple`)");
READ ALSO
Как прочитать массив float из памяти?

Как прочитать массив float из памяти?

Делаю dll inject в процесс, в нем нужно прочитать структуру VMatrix из адреса 0x1006B40

204
Динозаврик гугла [требует правки]

Динозаврик гугла [требует правки]

Можно ли написать на С++ динозаврика гугловского? (это который появляется,когда нет интернет-соединения)

252
изучаю “Наследование”, возникает ошибка

изучаю “Наследование”, возникает ошибка

Объясните пожалуйста, где ошибка ? Пометил комментариями ошибкуЗа пример взял перегрузку операции

245
C++ Поиск слова в строке

C++ Поиск слова в строке

Здравствуйте, есть код определяющий модель чипа видеокарты в данном случае моя карта - это NVIDIA Gefore GTX 970 как мне из модели чипа вытащить только...

692