0

"mysql_insert_id — 获取上次查询生成的 ID"

想象一下 3 个在线用户调用相同的查询,例如 Insert into table。用户一将行插入表中,但用户否。三号将是最后一个调用查询的人,就在用户一号之后几毫秒。

什么会为用户一返回 mysql_insert_id ?是他的Id还是用户三的Id?

如果不推荐使用此功能,我可以使用什么?

4

1 回答 1

2

每个连接都会跟踪插入 ID 。如果没有持久连接,每个单独的脚本执行都有自己的连接。使用持久连接,每个 Apache 进程都有自己的 MySQL 连接(但每个单独的进程都连续提供结果 - 所以这不是问题)。只要您从与PHPmysql_insert_id()中的查询相同的页面加载中调用,就可以了。INSERT

要回答问题的第二部分,您应该使用mysqlior PDO(首选)库。mysqli有对应的mysqli_insert_idPDOlastInsertId()方法。

于 2013-03-07T15:23:56.450 回答