1 回答
TA贡献1805条经验 获得超9个赞
您的查询执行应该在循环内,否则只有最后的产品详细信息才会填充到两个表中。
不要在 php 中使用 LAST_INSERT_ID(),而是使用 php 函数来实现相同的目的。
不要将 order_id 作为传递
null
并确保它是自动增量的。使用prepared语句来防止sql注入。
简单更新您的问题即可使其正常工作(不包括 sql 注入预防)
foreach ($_POST['product'] as $q_product => $v) {
$product_id = $v['product_id'];
$product_name = $v['product_name'];
$query = "INSERT INTO tbl_order (customer_id,total,firstname)
VALUES ('$customer_id','$total','$firstname')";
$result = mysqli_query($link, $query);
$last_id = mysqli_insert_id($link);
$queryy = "INSERT INTO tbl_order_product (order_id,product_id,product_name)
VALUES ($last_id ,$product_id,'$product_name')";
$resultt = mysqli_query($link, $queryy);
}
要使用准备好的语句来防止sql注入,请看看这些。
PHP MySQL 准备语句
使用 PDO 插入查询
- 1 回答
- 0 关注
- 117 浏览
添加回答
举报