使用mysqli_insert_id获取错误的id

hor*_*kim 1 php mysqli mysql-insert-id

我希望在将数据插入数据库后返回id.

很多人很有可能同时提交表格.

我不希望在结果中显示错误的ID,因为此ID也将记录在另一个数据库日志中,并用于上载显示给用户的下一个表单中的文件.

如果有几个人同时提交mysqli_insert_id可能会收到错误的ID吗?

对该用户的最新日期条目进行查询并从那里提取id会更好吗?

或者我应该使用mysqli_insert_id然后检查该记录中的用户名以验证它是否正确?

或者我只是担心一些不是问题的事情?

感谢您的任何意见,我对此非常陌生.

金:)

Mar*_*c B 5

last_insert_id()-type函数绑定到特定的DB连接.你不会得到一些其他并行连接产生的id,你不会得到你用这个脚本3请求前连接的id.

始终是您使用特定数据库连接执行的最后一次插入的ID .

如果返回基本上是随机数的话,那将是完全没用的功能.例如,考虑一系列父/子连接表.您插入父记录,尝试检索其ID,并获取某些OTHER插入的ID?现在你已经"丢失"了你的新记录,并将孩子们附加到无效的父母身上.

不.该功能完全按照您的预期运行,您不必担心获取错误的ID.唯一需要注意的是它只检索LAST插入的ID.如果连续执行2个以上的插入,则丢失了除最后一个插入之外的所有ID.