我想问为什么foreach没有插入来自$ listname数组的所有数据的记录,而是只插入数组中的最后一项,但如果我在foreach中回显$ fname,我可以看到记录。感谢
$last_id = $db_->lastInsertId();
foreach ($listname as $fname) {
$new_name->bindParam(':fname',fname);
$new_name->bindParam(':id',$last_id);
}
答案 0 :(得分:1)
在迭代for循环时,您的某些代码会丢失,或者您只是覆盖参数。您需要准备语句,并在循环中:
对于要插入的每组值。
$last_id = $db_->lastInsertId();
$name = $db->prepare("INSERT INTO name SET fname=:fname, id=:id");
foreach ($listname as $fname) {
$name->bindParam(':fname',fname);
$name->bindParam(':id',$last_id);
$name->execute();
}