使用PHP将复选框数组插入多个MySQL表列
我很困惑,我想这肯定会奏效。我想在一个表的不同列中插入多个复选框值(如果选中)。我试图用for循环来实现这一点,并保持命名约定的一致性,这样我就可以利用for循环和checkbox数组。以下是php代码:使用PHP将复选框数组插入多个MySQL表列,php,mysql,arrays,checkbox,Php,Mysql,Arrays,Checkbox,我很困惑,我想这肯定会奏效。我想在一个表的不同列中插入多个复选框值(如果选中)。我试图用for循环来实现这一点,并保持命名约定的一致性,这样我就可以利用for循环和checkbox数组。以下是php代码: $connection = new mysqli("localhost","root","","employee_db"); if(isset($_POST['check'])){ $check = $_POST['check']; if($check){ pr
$connection = new mysqli("localhost","root","","employee_db");
if(isset($_POST['check'])){
$check = $_POST['check'];
if($check){
print_r($check);
}else{
echo "nothing checked";
}
for($i=0;$i<sizeof($check);$i++){
$query = "INSERT INTO `checklist_test` (`$check[$i]`) VALUE (`\"$check[$i]\"`)";
$result = mysqli_query($connection,$query);
if(!$result){
die("NOPE <br>" . mysqli_error($connection));
}else{
echo "yup";
}
}
}
p.O.V.以外的欣赏者,我需要感谢 如果在循环内执行查询,则执行x个查询(或插入x个行),而不是插入x个列。这里确实不需要使用循环,因为您有一组列 使用echo语句打印出查询,以查看您正在运行的内容,并了解其不起作用的原因 您也不应该将用户输入直接放入MySQL查询中。阅读SQL注入
<form action="" method="post>
<input type="checkbox" name="check[]" value="check1">Check1
<input type="checkbox" name="check[]" value="check2">Check2
<input type="checkbox" name="check[]" value="check3">Check3
<input type="submit" value="submit">
</form>
INSERT INTO `checklist_test` (`id`, `check1`, `check2`, `check3`)
VALUES (NULL, 'test', 'test', 'test');