如何使用foreach插入数据库?

时间:2017-04-19 11:04:20

标签: php mysql

你有一个小问题。我无法插入db数组......这是我的代码

$qurum1 = implode('|',$_POST['qurum1']);
$qurum = explode('|', $qurum1);
foreach ($qurum as $value) {
$query2 = "INSERT INTO test (data_id, col2) VALUES ('$id', '$value')"; 
}

此代码仅插入最后一个值

2 个答案:

答案 0 :(得分:0)

试试这个

<form method="post">
    <input id="value1" value="value1"  name="qurum1[]" type="checkbox">
    <input id="value2" value="value2"  name="qurum1[]" type="checkbox">
    <input value="21"  name="id" type="hidden">
    <input type="submit">
</form>

<?php
    if(isset($_POST['qurum1'])){
        $invite = $_POST['qurum1'];
        $id = $_POST['id'];
        $dbObj=mysqli_connect("$dbhost","$dbusername","$dbpasswd","$dbname") or die('Could not connect to DB : ' .mysqli_connect_error());
        foreach ($qurum as $value) {
            $query2 = "INSERT INTO test (data_id, col2) VALUES ('$id', '$value')"; 
            $ins_sql = mysqli_query($dbObj,$query2);
        }
    }
?>

现在我已将'id'添加为隐藏元素。

答案 1 :(得分:-3)

您还需要在foreach()函数中添加MySQL查询:

foreach ($qurum as $value) {
    $query2 = "INSERT INTO test (data_id, col2) VALUES ($id, $value)";
    mysqlExecute($query2);
}

请注意,mysqlExecute()不存在,您需要使用自己的函数来执行查询。

另请注意,建议不要在循环中执行SQL语句,因为它会在执行多个查询时降低性能。如果您的网页没有太多负载,或者您只是练习它,无论如何都很好。