未定义的偏移量:2

时间:2014-02-26 05:39:26

标签: php mysql

我有这个Four Array,我希望它使用Foreach

保存在Mysql上

成功执行:按下“提交”按钮后,阵列上的数据已保存,但出现错误

错误: 未定义的偏移量:第10行的C:\ wamp \ www \ Sample \ index.php中的2

代码:

<?php
include('connection.php');
if(isset($_POST['Save'])){
$Array = $_POST['NOD'];
$Array2 = $_POST['Age'];
$Array3 = $_POST['DOB'];
$Array4 = $_POST['Relationship'];
$both_arrays = array_merge((array)$Array, (array)$Array1, (array)$Array2, (array)$Array3);
foreach(array_keys($both_arrays) as $i) {
 $sql="INSERT INTO sample_tbl(Col,Col1,Col2,Col3)VALUES('$Array[$i]','$Array1[$i]','$Array2[$i]','$Array3[$i]')";
 $result=mysql_query($sql,$con)or die(mysql_error());
}

在此行中显示错误:

$sql="INSERT INTO sample_tbl(Col,Col1,Col2,Col3)VALUES('$Array[$i]','$Array1[$i]','$Array2[$i]','$Array3[$i]')";

保存后的数据库结果:`

id Col Col1 Col2 Col3
1   11  11   11   11
2   22  22   22   22
3
4
5
6
7
8
(Auto) Null Null Null

从第3行到第8行,数据库中共保存了6个额外字段 你能帮我解决一下这个问题吗?以及第10行错误的问题?

2 个答案:

答案 0 :(得分:0)

关于第10行的错误,您迭代而不是$both_arrays来获取密钥,但您正试图访问 $Array中的元素1}},$Array1等等。

我认为你可能意味着写的是:

$sql="INSERT INTO sample_tbl(Col,Col1,Col2,Col3)VALUES
    '$both_arrays[$i]', '$both_arrays[$i]',
    '$both_arrays[$i]', '$both_arrays[$i]')";

我先解决这个问题,它也可以很好地解决您的狡猾数据插入问题。

答案 1 :(得分:0)

试用此代码

include('connection.php');
    if(isset($_POST['Save'])){
    $Array = $_POST['NOD'];
    $Array2 = $_POST['Age'];
    $Array3 = $_POST['DOB'];
    $Array4 = $_POST['Relationship'];

    foreach(array_keys($Array) as $i) {
        $sql="INSERT INTO      sample_tbl(Col,Col1,Col2,Col3)VALUES('$Array[$i]','$Array2[$i]','$Array3[$i]','$Array4[$i]')";
        $result=mysql_query($sql,$con)or die(mysql_error());
    }