Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP和WHERE规范的MySQL查询_Php_Mysql - Fatal编程技术网

使用PHP和WHERE规范的MySQL查询

使用PHP和WHERE规范的MySQL查询,php,mysql,Php,Mysql,通过这个更新查询,如果id在chk_列表中,那么我将checked设置为1。如果id不在列表中,我想将chk_list=0 在何处设置if之后,有没有简单的方法?您可以使用函数来确定要设置的值。请执行以下操作: $update = "UPDATE data SET checked = (IF(id IN ($chk_list), 1, 0))"; $qry = $db->query($update); 注意:请注意相关问题如果要将checked显式设置为1或0,则If应位于设置区域中 请

通过这个更新查询,如果id在chk_列表中,那么我将checked设置为1。如果id不在列表中,我想将chk_list=0

在何处设置if之后,有没有简单的方法?

您可以使用函数来确定要设置的值。请执行以下操作:

$update = "UPDATE data SET checked = (IF(id IN ($chk_list), 1, 0))";
$qry = $db->query($update);

注意:请注意相关问题

如果要将checked显式设置为1或0,则If应位于设置区域中 请注意,将所有表更新到MySQL默认情况下阻止这种情况发生的程度是非常危险的,您应该将安全更新设置为0

UPDATE data SET checked = IF(id IN ($chk_list), 1,0)
这个案子怎么样?不确定是否整洁,但似乎它会起作用:

UPDATE data SET checked= 
CASE
  WHEN id IN ($chk_list) THEN 1
  WHEN id NOT IN ($chk_list) THEN 0
END

我想知道何时在列表集1中,何处未设置0@raulpaulsen请检查更新的答案。使用if函数if$qry{echo update Failed;}是否正确?$update=update data SET checked=IFid在$chk_列表中,1,0;或者缺少什么?请在执行$update之前回显它,并查看您得到了什么。尝试使用phpmyadmin或mysql workbench直接运行原始查询并检查其输出您只需将字段的默认值设置为0!你就不能不进来吗?这两个答案中的任何一个都有效。不过我很好奇,为什么要更新表上的所有记录?我从来没有见过这样的场景Hi Raul,你能澄清一下你的问题吗?也许可以添加一些上下文来说明您试图在表中实现什么。在php代码中使用它是可以的吗?它工作得很好,但我不知道它是否是proper@raulpaulsen很高兴它对你有用。祝你好运,伙计:快乐coding@raulpaulsen如果与php一起使用,我看不出有任何问题
UPDATE data SET checked= 
CASE
  WHEN id IN ($chk_list) THEN 1
  WHEN id NOT IN ($chk_list) THEN 0
END