foreach ($_POST as $nazwa_checkboxa=>$id) {
$s = "SELECT uprawnienie FROM user WHERE Id_user=".$id;
$helpdesk = 0;
if ($s == 0) {
$helpdesk = 1;
}
$z = "UPDATE user SET uprawnienie = ".$helpdesk." WHERE Id_user=".$id;
$wynik = $polaczenie->query($z);
$zmienione++;
}
列uprawnienie
返回0 = normal
用户和1 = administrator
更新始终将值设置为1,我可以将用户更改为管理员(0到1),但它不会工作1到0
答案 0 :(得分:1)
实际上,您可以使用一个查询来执行此操作,例如:
update user
set uprawnienie = (SELECT if(uprawnienie=1,0,1) FROM user WHERE Id_user = '<id>')
where Id_user = '<id>'
答案 1 :(得分:0)
您似乎没有为query()
实际运行$s
。因此,if ($s==0)
不会检查查询结果,而是检查"SELECT..."==0
。根据{{3}},“转换为整数进行此类比较时,”字符串最有可能返回0“。