关于PHP的mysql函数的mysql_insert_id()问题
我知道PHP中mysql_insert_id()函数可以得到最后一次操作数据库后生成的ID,也就是自动添加的ID,我的问题是,当同一个页面有多人同时提交的时候,产生的ID会不会出错,也就是每个人产生的ID会不会不一样,还是产生的最后一个人生成的ID值。这个mysql_insert_id()函数是不是以进程来区别的。不同人操作产生不同的进程,因此产生的ID就是这个人最后一次操作的ID??
答案:这应该是你的理解偏差了,既然是多个人提交,那么就要产生多个页面,也就是在不同的电脑上,这也就是每个人提交后生成的ID会返回到那个人的页面上去,你是不用单选这个的了,就想session这个函数,他的意思是在服务器端存储,如果是这样的话,只要是有多人在线的话,既然是服务器存储的了,那么我们每个连接服务器的客户端“按理”来说都可以用那些ID的,但是不可能出现这种情况的,不信的话你可以在虚拟机中用几个客户端同时连入服务器,看看结果吧,这些和你说的话,你还是没有自己实践理解的透彻,我同学刚接触session这个函数的时候就出现了我说的那个想法,我也被问蒙了,我俩互相连接了一下,结果是没问题的,具体是怎么解决的我不明白,不过他在这方面是不会出现你说的问题的,除非是你在一台机器中开不同的页面,但是这样的话,也是多个页面,返回的ID还是根据来的那个页面返回去的,你不可能在一个页面中写多个一样的表单,然后提交,这是没有意义的,同时也不可能点上多个提交按钮,因为点了一个后他就会跳转了,呵呵,我说的可能有些乱,但是希望能够让你理解过来。我建议你自己试试你所说的,而且是要试试多种,让自己彻底的了解这种说法!希望能够对你有帮助!我这是用了双倍经验卡,哈哈,不然没时间说的了,不过希望你能选我的为答案那样我就快升级了,哈哈!
上一个:PHP 自定义函数中再调用函数。。。。
下一个:PHP的imagegif()函数问题