使用php将复选框值存储到mysql数据库

使用php将复选框值存储到mysql数据库,php,mysql,checkbox,row,storage,Php,Mysql,Checkbox,Row,Storage,我在mysql数据库中存储复选框值时遇到问题。如何修复此代码以存储所有选中的值 检查行时,类型中有七个不同的列必须存储在数据库中 这部分代码负责从数据库中获取数据并将其放入表中: while ($row = mysqli_fetch_array($query)) { print "<tr> <td><input type='checkbox' name='check[]' value='

我在mysql数据库中存储复选框值时遇到问题。如何修复此代码以存储所有选中的值

检查行时,类型中有七个不同的列必须存储在数据库中

这部分代码负责从数据库中获取数据并将其放入表中:

    while ($row = mysqli_fetch_array($query)) { 
        print  
            "<tr>    <td><input type='checkbox' name='check[]'  value='
            ".$row['course_id'].",
            ".$row['course_name'].",
            ".$row['day'].",
            ".$row['place'].",
            ".$row['hour'].",
            ".$row['type'].",
            ".$row['instructor_name']."' /></td>

            <td>{$row['course_id']}</td>
            <td>{$row['course_name']}</td>
            <td>{$row['day']}</td>
            <td>{$row['place']}</td>
            <td>{$row['hour']}</td>
            <td>{$row['type']}</td>
            <td>{$row['instructor_name']}</td>

             </tr>"; 
      }


     print "</table>
           <input type='submit' name='Submit' value='Submit'>
           </form>";

我认为您的整个设置都不好,以下是一些代码让您开始:

首先打印所有课程

while ($row = mysqli_fetch_array($query)) { 
    print  
        "<tr>    
        <td><input type='checkbox' name='row_checked_".$row['course_id']."'  value='1' /></td>
        <td>{$row['course_id']}</td>
        <td>{$row['course_name']}</td>
        <td>{$row['day']}</td>
        <td>{$row['place']}</td>
        <td>{$row['hour']}</td>
        <td>{$row['type']}</td>
        <td>{$row['instructor_name']}</td>
        </tr>"; 
  }
您的insert查询也有点混乱,为什么要将整个课程插入初始注册?您更愿意做这样的事情:

$insert1 ="INSERT INTO initial_registration (course_id,STUDENT) VALUES ($row['course_id'],$some_student_id_value)";

首先,您将MySQL API与MySQL\u query$insert1或diemysql\u error;,混合使用;,进一步说,您使用的是mysqli_fetch_数组。告诉我们你的错误。另外,谁知道您正在使用哪个API进行连接。这里的问题是没有结果不在数据库中存储数据mysqli_query$con,$insert1-mysqli_error$con-您需要通过数据库连接。^^^^^^那么,到目前为止运气如何?下面给出了一个答案,你试过了吗?我试过了。它不起作用。不在数据库中保存数据。你要通过打印发生的情况进行调试。如果你打印一篇文章,它会收到文章值吗?数组[row\u checked\u 105]=>1[Submit]=>Submit//105=课程ID这很好!因此,您的insert查询是错误的。请查看此处以了解更多信息:
while ($row = mysqli_fetch_array($query)) { 
    if(isset($_POST['row_checked_'.$row['course_id']]) && $_POST['row_checked_'.$row['course_id']]==1){
       //insert query here
    }
}
$insert1 ="INSERT INTO initial_registration (course_id,STUDENT) VALUES ($row['course_id'],$some_student_id_value)";