gpt4 book ai didi

php - 获取数据库中刚刚插入的行的id

转载 作者:行者123 更新时间:2023-11-29 10:46:27 24 4
gpt4 key购买 nike

我想将购物车中每件商品的 ID 插入到数据库中,并将该发票行与刚刚在同一案例中创建的发票相结合。目前,如果我按下按钮,它会向数据库添加一张新发票,之后它会添加购物车中的每个产品,但现在我需要将第二个查询中的 1 替换为刚刚创建的发票 ID。我怎样才能让它发挥作用?

  case "apply":
$curdate = date('Y-m-d');
// new invoice
$sql = "INSERT INTO invoice (user_user_id, dates) VALUES ('1', '$curdate')";
$result = mysqli_query($con, $sql);
// for each item in cart insert into invoiceline
foreach ($_SESSION["cart_item"] as $item){
$car = $item["id"];
$sql = "INSERT INTO invoice_line (car_car_id, invoice_invoice_number) VALUES ('$car', '1')";
$result = mysqli_query($con, $sql);

}
unset($_SESSION["cart_item"]);
break;
}
}

invoice_id 不是主键,而是外键,该表没有主键,所以我认为我不能使用 mysqli_insert_id?

最佳答案

您可以使用:

$inserted_id = mysqli_insert_id($con);

或者,面向对象风格:

$inserted_id = $con->insert_id;

$inserted_id 将具有刚刚插入的行的值(应该在表中自动递增)。

因此,您的第二个查询将如下所示:

$sql = "INSERT INTO invoice_line (car_car_id, invoice_invoice_number) VALUES ('$car', '$inserted_id')";

关于php - 获取数据库中刚刚插入的行的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44483850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com