php - MySQL IN 只删除单行,应该从变量中删除多个 - PHP

标签 php mysql mysqli

我正在尝试根据表单中复选框的选择来删除数据库中的多条记录。但是如果选中了多个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/

相关文章:

javascript - htmlspecialchars_decode 导致宽度问题

php - 拆分字符串;

php - 异常 'PDOException' 消息 'could not find driver'

php - 连接尝试时出现奇怪的主机

php - 更新、内连接 PHP 到 MySQL 查询

mysql 查询表连接

mysql - 如何使用nodejs将文件路径插入mysql表

c# - 如何使用 MySQL Workbench 中的现有数据库填充数据层?

php - Mysqli PHP我希望未知服务器主机时出现自定义错误消息

php - 限制mysqli到php数据