php - mysqli_insert_id : What if someone inserts another row just before I call this?

标签 php mysql mysqli

我的问题很简单。我读过,检索我在 mysqli 中插入的行的 auto_increment/id 值的推荐方法是 mysqli_insert_id() 函数。但是,我不太熟悉并且有一个问题:(此时这都是理论上的)

出于这些目的(因此使用 mysqli 位),这一切都将来自 PHP Web 应用程序。假设多个用户同时在应用程序上,并且在我插入行和调用 mysqli_insert_id() 之间从不同的页面插入另一行?

这会返回一个不正确的值,还是 MySQL 有某种功能可以防止这种情况发生?或者我只是高估了这种情况的可能性?

感谢您的宝贵时间。

最佳答案

mysqli_insert_id() 特定于数据库连接——它返回脚本调用最近插入的行的 ID,而不是任何其他 MySQL 客户端。因此,如果多个应用程序同时插入数据库,则不会发生冲突。

关于php - mysqli_insert_id : What if someone inserts another row just before I call this?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18264282/

相关文章:

php - 网站被黑,如何使用 SED/GREP 删除恶意代码

php - php 中的 XML 解析不起作用?

php - 如何将文件从服务器传输到服务器

php - CakePHP HABTM 保存单个 header 记录,链接到多个现有子项

php - 使用分页搜索 PHP/MySQL

php - 更新查询不会更新,但运行时不会显示错误

php - 如何将使用 DOM 抓取的链接插入 MySQL 数据库? (或者我做错了什么?)

php - 执行mysqli准备的stmt SELECT * FROM table来获取没有bind_params的所有行,可能吗?

PHP帮助表获取错误

php - 在 Windows 上的 PHP7 安装中找不到 mysqli 类