你可以一次预告两个阵列吗?

时间:2015-03-31 16:57:38

标签: php sql

foreach (($_POST['pedimento'] as $value) && ($_POST['observacion'] as $obs))
{
    $sql1=mysql_query("INSERT INTO pedimento (`error`,`observacion`) VALUES ('$value','$obs')");
}

我试图从两个数组插入数据,有谁知道如何同时从两个数组中获取数据,并将它们保存在一个sql语句中?

4 个答案:

答案 0 :(得分:0)

我会将你的foreach变成带有int计数器的for循环:

for($i = 0; $i < array.length; $i++)
{
    $x = arrayOne[$i];
    $y = arrayTwo[$i];

    $sql1=mysql_query("INSERT INTO pedimento (error,observacion) VALUES ('$x','$y')"); }
}
PHP不是我的强项(不是长篇大论),但我检查过For循环工作。只要数组逻辑像其他语言一样远程工作,上面的语句应该遍历两个数组(假设它们的长度相同),并使用它找到的两个值创建一个INSERT语句。

答案 1 :(得分:-1)

    foreach (array_combine($_POST['pedimento'], $_POST['observacion']) as $value => $val) {
     echo $value;
     echo $val;
}

这是怎么回事?

答案 2 :(得分:-1)

请勿在此类查询中使用$_POST值!使用PDO或MySQLi移至准备好的语句。

这是其他答案所假设的唯一方法,如果数组的长度相同并且具有相同的键,那么:

foreach ($_POST['pedimento'] as $key => $value)
{
    $obs = $_POST['observacion'][$key];
    $sql1 = mysql_query("INSERT INTO pedimento (`error`,`observacion`)
                         VALUES ('$value','$obs')");
}

答案 3 :(得分:-1)

$array1 = array("A","B","C");
$array2 = array(1,2,3);
foreach (array_combine($array1,$array2) as $first => $second) {
     echo $first." ". $second;
}

输出:

A 1B 2C 3
相关问题