对mysql_insert_id函数的一点疑问? 这点你可以放心使用,数据库会给你做好并发处理。这个函数实际是调用MySQL内部的函数来实现的。MySQL会给你处理好的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以查看下MySQL的LAST_INSERT_ID()的介绍mysql_insert_id()就是调用LAST_INSERT_ID()来实现的。 应该不会有这种情况的,你可以作个测试程序试试:------a.php-------<?php$link = mysql_connect('localhost', 'root', '') or die('mysql database connect error');mysql_select_db('lyb') or die('the selected database is not exist');$sql = "insert lyb (caption) values('aaaa')";mysql_query($sql);sleep(10);echo mysql_insert_id();die();?>------b.php-------<?php$link = mysql_connect('localhost', 'root', '') or die('mysql database connect error');mysql_select_db('lyb') or die('the selected database is not exist');$sql = "insert lyb (caption) values('bbbb')";mysql_query($sql);echo mysql_insert_id();die();?>先运行a.php,马上在同时运行b.php,a.php在mysql_query执行后等待10秒钟然后再取出mysql_insert_id,b.php在mysql_query执行后立刻取出mysql_insert_id,这样b.php的query实在a.php执行后执行的。执行的输出结果是a.php的小于b.php的。所有不会出现你说的那种情况 应该这样说才对,每个mysql_insert_id()取到的值是“mysql数据苦当前线程的最后插入操作的id,与其它的线程(其它用户的)的无关” 其实我也按hahawen(变态的大龄青年) 那样说的理解。但是我看使用pcconnect的时候,是不是数据库发现如果有当前连接线程的,就使用当前线程。不在进行新的连接。那么这样会出问题么?请hahawen(变态的大龄青年) 回答。谢谢。 看php手册。里面的(章 21. 数据库永久连接)每个永久连接都有子过程的子过程,web是通过子过程来连接数据库的,子过程是唯一的。 php的rsa加密问题 php如何指定大小的采集页面,比如说只要hearder部分 高手帮忙看下~ 去重复! 微薄短域名是怎么算出来的? 重新排列数组,按page_x后面数字排 大家好,这种查看源文件是乱码怎么实现呀? 在WEB上怎么判断下载已经完成? 文本数据库的问题 一个小总是 platinum(白金)前辈请来拿分。kim-ryo敬上。 mysql如何产生序列号?(一个产生一个卡号和密码的功能) 我的WEB服务器架成www.f.net/4,5,7.htm形式,即4,5,7.htm是不存在的,访问时才动态的读
mysql_insert_id()就是调用LAST_INSERT_ID()来实现的。
<?php
$link = mysql_connect('localhost', 'root', '') or die('mysql database connect error');
mysql_select_db('lyb') or die('the selected database is not exist');
$sql = "insert lyb (caption) values('aaaa')";
mysql_query($sql);
sleep(10);
echo mysql_insert_id();
die();
?>
------b.php-------
<?php
$link = mysql_connect('localhost', 'root', '') or die('mysql database connect error');
mysql_select_db('lyb') or die('the selected database is not exist');
$sql = "insert lyb (caption) values('bbbb')";
mysql_query($sql);
echo mysql_insert_id();
die();
?>先运行a.php,马上在同时运行b.php,
a.php在mysql_query执行后等待10秒钟然后再取出mysql_insert_id,
b.php在mysql_query执行后立刻取出mysql_insert_id,这样b.php的query实在a.php执行后执行的。执行的输出结果是a.php的小于b.php的。所有不会出现你说的那种情况
每个永久连接都有子过程的子过程,web是通过子过程来连接数据库的,子过程是唯一的。