如何在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);