关于PHP的mysql函数的mysql_insert_id()问题

我知道PHP中mysql_insert_id()函数可以得到最后一次操作数据库后生成的ID,也就是自动添加的ID,我的问题是,当同一个页面有多人同时提交的时候,产生的ID... 我知道PHP中mysql_insert_id()函数可以得到最后一次操作数据库后生成的ID,也就是自动添加的ID,我的问题是,当同一个页面有多人同时提交的时候,产生的ID会不会出错,也就是每个人产生的ID会不会不一样,还是产生的最后一个人生成的ID值。这个mysql_insert_id()函数是不是以进程来区别的。不同人操作产生不同的进程,因此产生的ID就是这个人最后一次操作的ID?? 展开
 我来答
匿名用户
2013-04-12
展开全部
这应该是你的理解偏差了,既然是多个人提交,那么就要产生多个页面,也就是在不同的电脑上,这也就是每个人提交后生成的ID会返回到那个人的页面上去,你是不用单选这个的了,就想session这个函数,他的意思是在服务器端存储,如果是这样的话,只要是有多人在线的话,既然是服务器存储的了,那么我们每个连接服务器的客户端“按理”来说都可以用那些ID的,但是不可能出现这种情况的,不信的话你可以在虚拟机中用几个客户端同时连入服务器,看看结果吧,这些和你说的话,你还是没有自己实践理解的透彻,我同学刚接触session这个函数的时候就出现了我说的那个想法,我也被问蒙了,我俩互相连接了一下,结果是没问题的,具体是怎么解决的我不明白,不过他在这方面是不会出现你说的问题的,除非是你在一台机器中开不同的页面,但是这样的话,也是多个页面,返回的ID还是根据来的那个页面返回去的,你不可能在一个页面中写多个一样的表单,然后提交,这是没有意义的,同时也不可能点上多个提交按钮,因为点了一个后他就会跳转了,呵呵,我说的可能有些乱,但是希望能够让你理解过来。我建议你自己试试你所说的,而且是要试试多种,让自己彻底的了解这种说法!希望能够对你有帮助!我这是用了双倍经验卡,哈哈,不然没时间说的了,不过希望你能选我的为答案那样我就快升级了,哈哈!
殳星阑Bv
2013-04-12 · TA获得超过781个赞
知道小有建树答主
回答量:694
采纳率:50%
帮助的人:403万
展开全部
int mysql_insert_id( [resource link_identifier] )
mysql_insert_id()返回给定的 link_identifier中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 link_identifier,则使用上一个打开的连接。
如果上一查询没有产生 AUTO_INCREMENT 的值,则 mysql_insert_id()返回 0。如果需要保存该值以后使用,要确保在产生了值的查询之后立即调用 mysql_insert_id()。
MySQL 中的 SQL 函数 LAST_INSERT_ID()总是保存着最新产生的 AUTO_INCREMENT 值,并且不会在查询语句之间被重置。
当同一个页面有多人同时提交的时候,产生的ID会不会出错,也就是每个人产生的ID不一样,产生最后一个人的ID值,函数是以进程来区别的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
caiaolin
2013-04-12 · TA获得超过664个赞
知道小有建树答主
回答量:621
采纳率:0%
帮助的人:452万
展开全部
这个id是你上一次操作的id··如果有人刚好在同一时间加入··那么这个ID应该是相等的·····要避免这种情况·就要用锁··
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式