我正在尝试根据表单中复选框的选择来删除数据库中的多条记录。但是如果选中了多个checkbox,当前sql不知为何只删除了第一个id,其余的没有删除。
$del_ids = implode(',', array_keys($_POST['check_list']));
$query = "DELETE FROM enhancements WHERE id IN('$del_ids')";
$result = mysqli_query($connection, $query);
例如我的数组是这样的:
Array
(
[check_list] => Array
(
[4] => on
[6] => on
)
)
运行后:
$del_ids = implode(',', array_keys($_POST['check_list']));
我的 $del_ids
字符串如下所示:
4,6
但是由于某些原因只删除id为4的记录,id为6的记录不删除,他们应该都删除。有什么建议吗?
最佳答案
你必须使用这个:
$del_ids = implode("','", array_keys($_POST['check_list']));
关于php - MySQL IN 只删除单行,应该从变量中删除多个 - PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29277234/