为了账号安全,请及时绑定邮箱和手机立即绑定

从多个插入中获取最后一个 ID

从多个插入中获取最后一个 ID

PHP
白猪掌柜的 2022-06-17 10:11:18
我有这个多记录插入。我需要从表中获取最后一个 idproduct并将loan表插入到表中import。我该怎么做?这是我的代码:$sql = "INSERT INTO `product` (`product_id`, `barcode`, `delete`,   `id_list_name`) VALUES (NULL, '".$barcode."', '0', '".$listnameid."');        INSERT INTO `loan` (`loan_id`, `date`, `Quantity`, `delete`, `id_user`) VALUES (NULL, '".date("Y-m-d")."', '1', '0', '".$userid."');        INSERT INTO `import` (`import_id`, `id_product`, `date`, `delete`, `date delete`, `id_user`, `id_loan`) VALUES (NULL, '4', '".date("Y-m-d")."', '0', '', '".$userid."', '"4"');       ";        mysqli_query($conn, $sql);
查看完整描述

1 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

没有“多重插入”之类的东西。每个插入必须单独执行。特别是如果您需要从每个查询中插入 id。

所有插入查询都必须使用准备好的语句来执行。

这是您正确编写的代码


$sql = "INSERT INTO `product` (`product_id`, `barcode`, `delete`,   `id_list_name`) VALUES (NULL, ?, '0', ?)";

$stmt = $conn->prepare($sql);

$stmt->bind_param("ss", $barcode,$listnameid);

$product_id = $conn->insert_id;


$sql = "INSERT INTO `loan` (`loan_id`, `date`, `Quantity`, `delete`, `id_user`) VALUES (NULL, CURDATE(), '1', '0', ?)";

$stmt = $conn->prepare($sql);

$stmt->bind_param("s", $userid);

$loan_id = $conn->insert_id;


$sql = "INSERT INTO `import` (`import_id`, `id_product`, `date`, `delete`, `date delete`, `id_user`, `id_loan`) VALUES (NULL, ?, CURDATE(), '0', '', ?, ?)";

$stmt = $conn->prepare($sql);

$stmt->bind_param("sss", $product_id, $userid, $loan_id;);

$import_id = $conn->insert_id;


查看完整回答
反对 回复 2022-06-17
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信