Php 使用foreach函数插入时复制错误

Php 使用foreach函数插入时复制错误,php,Php,我有一段代码,允许我在数据库中插入一些信息: $att_id=$_REQUEST['att_id']; $date=$_REQUEST['date']; $pdv=$_REQUEST['checkbox']; foreach($date as $val) { foreach ($pdv as $pdv1) { $values_arr[] = "('" . $val . "','" . $pdv1 . "','" . $att_id . "')"; $values = implode(",

我有一段代码,允许我在数据库中插入一些信息:

$att_id=$_REQUEST['att_id'];

$date=$_REQUEST['date'];
$pdv=$_REQUEST['checkbox'];

foreach($date as $val) {
foreach ($pdv as $pdv1) {
$values_arr[] = "('" . $val . "','" . $pdv1 . "','" . $att_id . "')";

$values = implode(", ", $values_arr);

$sql="INSERT INTO date_pdv (date,id_pdv,att_id) VALUES $values";
mysql_query($sql)or die(mysql_error());
}
}
现在,要点是,如果数组date有这个值[1,2],而数组pdv有这个值[1,2,3],那么我应该在数据库中得到:

1-1
1-2
1-3
2-1
2-2
2-3
但我不。。。我在数据库中得到重复的值。。。我应该使用数组的任何while长度..等等吗? 谢谢

您在循环的每次迭代中都运行insert查询,这就是为什么最终会出现大量重复行的原因


注意关闭
}
foreach
循环上的位置

您是否尝试过
echo$值?在每次迭代开始时清空
$values\u arr
,并缩进代码。除此之外,请停止使用古老的mysql_*函数编写新代码。它们不再得到维护,社区已开始恢复。相反,您应该学习准备好的语句,并使用或。如果你想学的话,是的,它是有效的,我的意思是,这不是价值观的问题。。我需要插入一些东西来循环它们。。。我的意思是根据日期值的长度…插入工作正常,只是插入函数的时间不起作用…您好:)非常感谢。。。这件似乎很容易。。我们从未想过:)谢谢!
$att_id=$_REQUEST['att_id'];
$date=$_REQUEST['date'];
$pdv=$_REQUEST['checkbox'];

foreach($date as $val) {
  foreach ($pdv as $pdv1) {
    $values_arr[] = "('" . $val . "','" . $pdv1 . "','" . $att_id . "')";
  }
}
$values = implode(", ", $values_arr);
$sql="INSERT INTO date_pdv (date,id_pdv,att_id) VALUES $values";
mysql_query($sql)or die(mysql_error());