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

时间:2014-07-23 11:59:18

标签: 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>
    <button type="submit" name="send" id="send" >
</form>

PHP部分插入

$checkbox = $_POST['check'];

for (i$=0; $i<sizeof($checkbox);$i++)

    $insert = $pdo->prepare("INSERT INTO table (check_value) VALUES (?)");
    $insert->execute(array(".$checkbox[$i]."));

当我使用“。$ checkbox [$ i]时更多。”给出“注意:数组转换为字符串”

1 个答案:

答案 0 :(得分:2)

执行此操作的一种方法是动态构建SQL。 只需将?添加到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']);
}