使用php向数据库中添加multiselect

使用php向数据库中添加multiselect,php,mysql,Php,Mysql,我正试图从multiselect中获取一个输入到数据库中。下面是我使用的表单中选择字段的一个片段。我确实找到了[]的建议,所以我加了这个。这是向前迈出的一大步 <select name="project_dicipline[]" data-placeholder="Select uw dicipline(s)" class="chosen-select" multiple style="width:350px;"> <option value=""></o

我正试图从multiselect中获取一个输入到数据库中。下面是我使用的表单中选择字段的一个片段。我确实找到了[]的建议,所以我加了这个。这是向前迈出的一大步

<select name="project_dicipline[]" data-placeholder="Select uw dicipline(s)" class="chosen-select" multiple style="width:350px;">
     <option value=""></option> 
     <option value="Elektra_LS">Elektra LS</option> 
     <option value="Elektra_MS">Elektra MS</option> 
     <option value="Elektra_OV">Elektra OV</option>
</select>
--编辑-- 下面是与db的连接。我知道这一部分是有效的,因为表单的其余部分会得到验证并添加到表单中。出于这个原因,我从查询中删除了很多字段。(在运行查询之前,所有变量都已转义)


如果它们是数据库中的单个记录,则需要使用foreach循环插入它

$conn = mysqli_connect($servername, $usernamedb, $passwordDB, $database);
if (!$conn) 
{
    die("Connection failed: " . mysqli_connect_error());
}

if ($stmt = mysqli_prepare($conn, "INSERT INTO projects (project_status, project_name, project_client, project_diciplines) VALUES('New', ?, ?, ?, ?)")) {

    $project_dicipline = array();
    foreach ($_POST['project_dicipline'] as $project_dicipline){
         $project_dicipline = mysqli_real_escape_string($conn, $project_dicipline);

         mysqli_stmt_bind_param($stmt, $project_naam, $project_plaats,$project_client_company,$project_dicipline);

         /* execute query */
         mysqli_stmt_execute($stmt);
    }

}

您可以在php.net和post/loops上阅读有关mysqli的更多信息,并且

您有建立到数据库连接的代码吗?我会试试这个,但我不熟悉准备好的语句,所以在复制了这个之后,它似乎不起作用。我是否要替换上一个查询?在if(isset($\u POST['project\u create'])下,我使用一个impode/explode解决方案将其传递给上,然后我创建了一个函数来再次读取它。这似乎奏效了。
    $conn = mysqli_connect($servername, $usernamedb, $passwordDB, $database);
    if (!$conn) 
    {
        die("Connection failed: " . mysqli_connect_error());
    }


    $query = "INSERT INTO projects (project_status, project_name, project_client, project_diciplines)

     VALUES('New', '$project_naam', '$project_plaats', '$project_client_company', '$project_dicipline')";
     mysqli_query($conn, $query);
$conn = mysqli_connect($servername, $usernamedb, $passwordDB, $database);
if (!$conn) 
{
    die("Connection failed: " . mysqli_connect_error());
}

if ($stmt = mysqli_prepare($conn, "INSERT INTO projects (project_status, project_name, project_client, project_diciplines) VALUES('New', ?, ?, ?, ?)")) {

    $project_dicipline = array();
    foreach ($_POST['project_dicipline'] as $project_dicipline){
         $project_dicipline = mysqli_real_escape_string($conn, $project_dicipline);

         mysqli_stmt_bind_param($stmt, $project_naam, $project_plaats,$project_client_company,$project_dicipline);

         /* execute query */
         mysqli_stmt_execute($stmt);
    }

}