“mysql_insert_id - 获取上次查询中生成的ID”
想象一下3个在线用户呼叫相同的查询,例如插入表格。 用户1将行插入表中,但用户号为。三个将是最后一个调用查询的人,仅在用户一个之后几毫秒。
什么会为用户1返回mysql_insert_id?这将是他的用户ID还是用户ID?
如果不推荐使用此功能,我可以使用什么?
答案 0 :(得分:2)
每个连接跟踪插入ID 。没有持久连接,每个单独的脚本执行都有自己的连接。对于持久连接,每个Apache进程都有自己的MySQL连接(但每个单独的进程都是串行提供结果 - 所以这不是问题)。只要您在与PHP中的mysql_insert_id()
查询相同的页面加载中调用INSERT
,就可以了。
要回答问题的第二部分,您应该使用mysqli
或PDO
(首选)库。 mysqli
具有相应的mysqli_insert_id
。 PDO
有lastInsertId()
方法。