Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
"mysql_insert_id — 获取上次查询生成的 ID"
想象一下 3 个在线用户调用相同的查询,例如 Insert into table。用户一将行插入表中,但用户否。三号将是最后一个调用查询的人,就在用户一号之后几毫秒。
什么会为用户一返回 mysql_insert_id ?是他的Id还是用户三的Id?
如果不推荐使用此功能,我可以使用什么?
每个连接都会跟踪插入 ID 。如果没有持久连接,每个单独的脚本执行都有自己的连接。使用持久连接,每个 Apache 进程都有自己的 MySQL 连接(但每个单独的进程都连续提供结果 - 所以这不是问题)。只要您从与PHPmysql_insert_id()中的查询相同的页面加载中调用,就可以了。INSERT
mysql_insert_id()
INSERT
要回答问题的第二部分,您应该使用mysqlior PDO(首选)库。mysqli有对应的mysqli_insert_id。PDO有lastInsertId()方法。
mysqli
PDO
mysqli_insert_id
lastInsertId()