Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 PDO在Mysql中插入多个复选框值_Php_Mysql_Checkbox_Pdo - Fatal编程技术网

Php PDO在Mysql中插入多个复选框值

Php PDO在Mysql中插入多个复选框值,php,mysql,checkbox,pdo,Php,Mysql,Checkbox,Pdo,我想使用PDO在Mysql中插入多个复选框值 HTML表单部件复选框 <form action="insert.php"> <label> <input name="check[]" id="check[]" type="checkbox" value="<?=$row['id']?>" /> <span class="lbl"></span> </label>

我想使用PDO在Mysql中插入多个复选框值

HTML表单部件复选框

<form action="insert.php">
    <label>
        <input name="check[]" id="check[]" type="checkbox" value="<?=$row['id']?>" />
        <span class="lbl"></span>
    </label>
    <button type="submit" name="send" id="send" >
</form>


一种方法是构建SQL Dynamicly。 只要在SQL中添加尽可能多的复选框值即可

<?php
if (isset($_POST['check'])) {
    $sql = 'INSERT INTO TABLE (check_value) VALUES ({foo})';

    $foo = '';
    foreach($_POST['check'] as $key => $value) $foo .= '?,';
    $foo = rtrim($foo, ',');

    $sql = str_replace('{foo}', $foo, $sql);

    $insert = $pdo->prepare($sql);
    $insert->execute($_POST['check']);
}

这里只有一个复选框。你能发布整个代码吗,也许包括
php
部分?我相信这应该是一个来自数据库的循环。“这里我想要插入每一行中的复选框值的指令”——没有这样的事情。使用loop.Beter将该复选框移出标签,并开始使用
for
attributeYeah,如果复选框确实位于表中,这可能会有所帮助?我尝试此“for(I$=0;$I
<?php
if (isset($_POST['check'])) {
    $sql = 'INSERT INTO TABLE (check_value) VALUES ({foo})';

    $foo = '';
    foreach($_POST['check'] as $key => $value) $foo .= '?,';
    $foo = rtrim($foo, ',');

    $sql = str_replace('{foo}', $foo, $sql);

    $insert = $pdo->prepare($sql);
    $insert->execute($_POST['check']);
}