В моем php-коде я пытаюсь обновить все строки таблицы базы данных sql, которые имеют конкретное значение для 2 разных полей / столбцов. Когда я запускаю код, обновления не вносятся в таблицу sql.
Предположим, у меня есть база данных с именем «databasename» с таблицей «Pets» со следующими столбцами: «Cat» (varchar), «Dog» (varchar) & «Фаворит» (булево). Я хочу отметить все строки, которые имеют Cat = Sylvester & Собака = Клиффорд со значением 1 в любимой колонке.
Вот мой код:
<?php
$connect = mysqli_connect("localhost","root","","databasename");
$dog='Clifford';
$cat='Sylvester';
$query="SET sql_safe_updates=0";
$query.="UPDATE Pets SET Favorite = 1 WHERE Dog= $dog AND Cat = $cat";
mysqli_multi_query($connect,$query);
?>
Если вы распечатаете строку запроса, вы увидите, что это:
$query="SET sql_safe_updates=0UPDATE Pets SET Favorite = 1 WHERE Dog= $dog AND Cat = $cat";
Я не удивлен, что это не работает. Попробуйте просто начать запрос с update
; нет причин для режима безопасного обновления sql.
Других решений пока нет …