Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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和2个数组变量_Php_Mysql_Arrays - Fatal编程技术网

如何在php中使用foreach和2个数组变量

如何在php中使用foreach和2个数组变量,php,mysql,arrays,Php,Mysql,Arrays,我有这样的代码 <?php include "assets/config/connect.php"; foreach( $_POST['nim'] as $nim ){ $kode_mk= $_POST['kode_mk'] ; $nilai= $_POST['nilai'] ; $tahun_akademik= $_POST['tahun_ak

我有这样的代码

    <?php
        include "assets/config/connect.php";

            foreach( $_POST['nim'] as $nim ){
                $kode_mk= $_POST['kode_mk'] ;
                $nilai= $_POST['nilai'] ;
                $tahun_akademik= $_POST['tahun_akademik'] ;
                $sql = " INSERT INTO nilai (nim, kode_mk, nilai, tahun_akademik, id_nilai) VALUES ('$nim', '$kode_mk', '$nilai', '$tahun_akademik', NULL) ";        
                if (!mysql_query($sql)){
                    die('Error: ' . mysql_error());
                }                   
            }
?>
错误
因此,假设
kode_mk、nilai、tahun_akademik
都是
$\u POST
中的数组,则尝试将数组的对象作为字符串插入。首先使用如下函数将数组转换为字符串

解决方案:使用PHP内爆() 内爆的工作原理是这样的
内爆(胶水,数组)
胶水是一个字符串,插入数组的每个元素之间,将它们分隔成一个字符串。您可以使用
分解(分隔符,字符串)
将字符串反转为数组

使用代码的示例

所有变量都是数组,而不是您期望的字符串,您应该

var_dump($_POST);

要查看POST数组的整个结构,您必须向我们展示输入数据的外观。您可以使用
print\u r()
var\u dump()

从外观上看,表单输入是数组(复选框?),您需要将它们组合成单个字符串,或者单独使用每个字符串

此外,如果POST值没有变化,则没有理由继续在循环中收集POST值。把他们拉到圈外


最后,mysql_uu扩展已经被弃用,并且非常不推荐使用——您不应该使用它来编写新代码。在进行任何插入之前,您还需要验证和清理数据。实现后者的最简单方法是参数化查询。

POST
数组是什么样子的?这里的预期结果是什么?显示POST
数组。然后,只有任何人可以帮助任何事情,这将是非常有帮助的
print\u r($\u POST)
查看数组内容信息并在此处发布。我得到一个$\u post表单的内容是相同的,制作并提供如下数组:如果有多个变量关联数组,我不知道如何将数据输入数据库,因为我知道的每个变量只能容纳一个数组,请帮助我获得$\u post内容表单的所有部分都是相同的,生成并服务如下数组:如果有多个变量关联数组,我不知道如何将数据输入数据库,因为我知道的foreach只能容纳一个数组。请帮助我在对原始帖子的编辑中以代码标记的形式向我们显示$\u帖子的确切输出,我将提供帮助。我得到一个$_POST表单的内容是相同的,制作并提供如下数组:如果有多个变量关联数组,我不知道如何将数据输入数据库,因为我知道的foreach只能容纳一个数组。请帮助meI获得$\u POST表单的内容是相同的,制作并提供如下数组:如果有多个变量关联数组,我不知道如何将数据输入数据库,因为我知道的foreach只能容纳一个数组请帮助meSo为什么你没有尝试这里所有人的建议?回声“;打印(邮政美元);回声“;同样,其他表单元素的输入,而不是正常工作的表单元素(尽管在[]括号之前的name属性中不应该有空格)
    <?php
    include "assets/config/connect.php";

        foreach( $_POST['nim'] as $nim ){
            $kode_mk= implode(', ', $_POST['kode_mk']);
            $nilai= implode(', ', $_POST['nilai']);
            $tahun_akademik= implode(', ', $_POST['tahun_akademik']);

            $sql = " INSERT INTO nilai (nim, kode_mk, nilai, tahun_akademik, id_nilai) VALUES ('$nim', '$kode_mk', '$nilai', '$tahun_akademik', NULL) ";        
            if (!mysql_query($sql)){
                die('Error: ' . mysql_error());
            }                   
        }
?>
$kode_mk = $_POST['kode_mk'];
$nilai = $_POST['nilai'];
$tahun_akademik = $_POST['tahun_akademik'];
var_dump($_POST);
print_r($_POST);