首页 > 后端开发 > php教程 > 如何在MySQLi中检索最后插入的ID以进行跨表插入?

如何在MySQLi中检索最后插入的ID以进行跨表插入?

Barbara Streisand
发布: 2024-12-18 02:42:10
原创
224 人浏览过

How to Retrieve the Last Inserted ID in MySQLi for Cross-Table Inserts?

使用“mysqli_insert_id”检索上次插入 ID 以进行跨表插入

您正在尝试将图像与另一个表中的数据关联。为此,您需要检索插入到第一个表中的最后一行,并使用其 ID 在第二个表中执行插入。但是,您用来获取最后插入 ID 的方法不起作用。

解决方案:

使用 MySQLi 接口检索最后插入 ID 的正确语法是 mysqli_insert_id($conn)。然后,您可以使用此 ID 绑定到插入语句。

这是代码的更正版本:

$last_id = mysqli_insert_id($mysqli); // Get the last inserted ID

$stmt = $mysqli->prepare("
  INSERT INTO table1 (username, firstname, lastname, image) 
  SELECT ?,?,?,image FROM table2 t2 WHERE username = ? AND  t2.id = ? 
");
$stmt->bind_param('sssss', $username, $fname, $lname, $username, $last_id);
$stmt->execute();
登录后复制

其他注意事项:

确保第一个表中的ID字段是自增字段。这可确保每次插入行时都会生成唯一的 ID。

以上是如何在MySQLi中检索最后插入的ID以进行跨表插入?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板