Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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 如何使用foreach插入数据库?_Php_Mysql - Fatal编程技术网

Php 如何使用foreach插入数据库?

Php 如何使用foreach插入数据库?,php,mysql,Php,Mysql,嗨,我有个小问题。我无法插入数据库数组。。。这是我的密码 $qurum1 = implode('|',$_POST['qurum1']); $qurum = explode('|', $qurum1); foreach ($qurum as $value) { $query2 = "INSERT INTO test (data_id, col2) VALUES ('$id', '$value')"; } 此代码仅插入最后一个值您还需要在foreach()函数中添加MySQL查询: forea

嗨,我有个小问题。我无法插入数据库数组。。。这是我的密码

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

此代码仅插入最后一个值

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

foreach ($qurum as $value) {
    $query2 = "INSERT INTO test (data_id, col2) VALUES ($id, $value)";
    mysqlExecute($query2);
}
请注意,
mysqlExecute()
不存在,您需要使用自己的函数来执行查询

还请注意,不建议在循环中执行SQL语句,因为它会在执行多个查询时降低性能。如果你的网页没有太多的负载,或者你只是在练习,这两种方法都可以。

试试这个

<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);
        }
    }
?>


您必须在循环中实际执行查询。了解防止SQL的准备语句injection@Jens-因为您多次调用数据库都不成功,而执行查询最昂贵的部分是连接到数据库“您的注释非常有用”。。。链接到学校的人说。哦,具有讽刺意味的是。为什么您要多次执行查询?只需获取循环中的值并在一次快照中插入。为什么这个答案有两次否决票?有人不喜欢我的解决方案。从性能的角度来看,这是不正确的,但它回答了OP的问题。这不是意见的问题,而是回答问题的问题。OP提供了代码。OP的循环是错误的。是的@Ciprian您的解决方案会修复OP的problem@boroboris我不这么认为,这意味着所有记录的id都是相同的。我已经用mysqli_connect()更改了代码。我已经有了所有的$vars,我只需要将$qurum数组正确插入到数据库中。请在$qurum变量中发布数据。$\u post['qurum1']从复选框qurum1[]获取值,因此$qurum1类似于1 | 2 | 3…@JabbarGuliyev$qurum1是所有id的列表吗?