在SQL中设置所有行,其中id='$id';


Set all rows in SQL where id='$id'

我制作了一个在线警察调度程序,我正在尝试添加一个新功能。我想添加一个按钮,将所有警官的状态设置为"值班"。这是我当前对表单/提交按钮的操作:

<?php
mysqli_query($con,"UPDATE users SET status='0' WHERE code='$code'");
mysqli_close($con);
printf("<script>location.href='../units.php'</script>");
?>

"值班"与0相同,繁忙为1,不可用为2。该代码基本上是警察局所有警官所拥有的唯一代码。现在,这正在影响任何行!请帮忙!

如果您想将ALL设置为零,正如您所说,只需删除WHERE语句即可。

"UPDATE users SET status='0'";

你也应该放弃单引号,但这不会伤害任何东西。

"UPDATE users SET status=0";

数据库具有这样的安全性,当您使用不带WHERE子句的update语句时,不允许用户更新所有数据,您可以执行类似的破解查询

UPDATE users SET status = 0 WHERE code != 'any value'; // if code is string
UPDATE users SET status = 0 WHERE code <> 0; // if integer, just makes sure 0 is not a code in your DB

所有与值不匹配的行都将被更新,在这种情况下,所有行都将更新