Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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将复选框数组插入多个MySQL表列_Php_Mysql_Arrays_Checkbox - Fatal编程技术网

使用PHP将复选框数组插入多个MySQL表列

使用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

我很困惑,我想这肯定会奏效。我想在一个表的不同列中插入多个复选框值(如果选中)。我试图用for循环来实现这一点,并保持命名约定的一致性,这样我就可以利用for循环和checkbox数组。以下是php代码:
$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');