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

时间:2015-03-27 04:56:22

标签: php mysql sql mysqli

我已经制作了在线警察调度计划,我正在尝试添加新功能。 我想添加一个按钮,将所有警务人员的身份设置为“值班”状态。 这是我当前对表单/提交按钮的操作:

<?php

mysqli_query($con,"UPDATE users SET status='0' WHERE code='$code'");

mysqli_close($con);
printf("<script>location.href='../units.php'</script>");
?>

&#39; On Duty&#39;与0相同,繁忙是1,不可用是2.代码基本上是警察局所有官员的唯一代码。 现在,这会影响任何行!请帮忙!

2 个答案:

答案 0 :(得分:0)

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

"UPDATE users SET status='0'";

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

"UPDATE users SET status=0";

答案 1 :(得分:0)

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

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

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