在我的php代码中,我试图更新sql数据库表中为2个不同字段/列具有特定值的所有行。当我运行代码时,不会对sql表进行更新。
假设我有一个名为"databasename"的数据库,其中有一个表名为"Pets",其中有以下列:"Cat"(varchar)、"Dog"(varchar)&"收藏夹"(布尔值)。我想标记所有具有Cat=Sylvester&Dog=Clifford,最喜欢的列中的值为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安全更新模式。