首页 > 后端开发 > php教程 > 如何使用 PHP 获取 MySQL 中新插入行的 ID?

如何使用 PHP 获取 MySQL 中新插入行的 ID?

Susan Sarandon
发布: 2024-12-05 05:28:10
原创
805 人浏览过

How Can I Get the ID of a Newly Inserted Row in MySQL Using PHP?

向 MySQL 表中插入一行并检索其 ID

向具有自动递增 ID 字段的 MySQL 表中插入一行时,获取插入行的 ID 至关重要。然而,插入和 ID 检索之间的时间间隔可能会引入潜在的错误。

mysqli_insert_id() 函数

PHP 函数 mysqli_insert_id() 提供了一个解决方案问题。执行 INSERT 查询后,mysqli_insert_id() 返回当前连接中最后插入的行的 ID。这样就无需再次查询数据库或依赖竞争条件。

用法示例:

$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db');

mysqli_query($link, "INSERT INTO mytable (1, 2, 3, 'blah')");

$id = mysqli_insert_id($link);

echo "Inserted Row ID: $id";
登录后复制

替代方法:组合查询

或者,MySQL 的LAST_INSERT_ID() 方法可用于在单个查询中修改多个表,同时分配唯一的 ID:

mysqli_query($link, "INSERT INTO my_user_table ...;
  INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())");
登录后复制

注意: 每个 MySQL 连接维护一个单独的 ID 跟踪器,防止 ID 冲突。

以上是如何使用 PHP 获取 MySQL 中新插入行的 ID?的详细内容。更多信息请关注PHP中文网其他相关文章!

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