我希望使用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]时更多。”给出“注意:数组转换为字符串”
答案 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']);
}