Php 使用WHERE子句将复选框插入数据库

Php 使用WHERE子句将复选框插入数据库,php,mysql,Php,Mysql,我试图使用WHERE子句将复选框插入数据库。代码重定向时没有任何错误。但它并没有更新到数据库中。当我取消选中该复选框时,该行将被删除,id没有任何问题。这只是我遇到的插入问题。我似乎找不到这里的问题 下面的代码不使用WHERE子句 答案是这样的 for ($i = 0; $i < count($ckb); $i++){ if(!empty($ckb)){ $arrayMovies = $ckb[$i]; $sql = "INSERT INTO che

我试图使用WHERE子句将复选框插入数据库。代码重定向时没有任何错误。但它并没有更新到数据库中。当我取消选中该复选框时,该行将被删除,id没有任何问题。这只是我遇到的插入问题。我似乎找不到这里的问题

下面的代码不使用WHERE子句

答案是这样的

for ($i = 0; $i < count($ckb); $i++){
    if(!empty($ckb)){
        $arrayMovies = $ckb[$i];
        $sql = "INSERT INTO checkbox_batchdays (cbx_batchid, cbx_days)
                    SELECT * FROM
                        (SELECT '$bId', '$arrayMovies') AS tmp
                    WHERE NOT EXISTS
                        (SELECT cbx_batchid, cbx_days FROM checkbox_batchdays 
                        WHERE cbx_days = '$arrayMovies' AND cbx_batchid='$bId')";
        $query = mysqli_query($con, $sql);
    }
}

使用内部select查询可以得到多少行。这种查询只能插入一行,否则需要一个存储过程上述查询可以处理多行。我只有WHERE子句有问题。也许问题出在WHERE之外的第二个WHERE语句,通过查询只能有一个WHERE语句。试着把第二个地方改成ANDI试过了,还是一样。只是解释说我投了反对票,因为这里严重缺乏信息。它不工作的确切含义是什么?是否存在错误?这只是一张空白页吗?另外,fm_id来自哪里?这些变量看起来像什么?在运行最终查询之前,您是否回显了它?如果您回显mysqli_error$con,那么之后它的输出是什么?fm_id是表单上的复选框吗?请用更多的细节和上下文更新这个问题,我将把它改为upvote。
for ($i = 0; $i < count($ckb); $i++){
    if(!empty($ckb)){
        $arrayMovies = $ckb[$i];
        $sql = "INSERT INTO checkbox_batchdays (cbx_batchid, cbx_days)
                    SELECT * FROM
                        (SELECT '$bId', '$arrayMovies') AS tmp
                    WHERE NOT EXISTS
                        (SELECT cbx_batchid, cbx_days FROM checkbox_batchdays 
                        WHERE cbx_days = '$arrayMovies' AND cbx_batchid='$bId')";
        $query = mysqli_query($con, $sql);
    }
}