关于mysql_insert_id()的问题!呼叫高手

yxflove 2005-11-08 03:36:12
$sql1 = "insert into table1 values (NULL,'".date('Y-m-d')."','1')";
@$db->query($sql1) or die('Query Error!');

$sql2 = "insert into table2 values (NULL,'".mysql_insert_id()."','".date('Y-m-d')."',0)";
@$db->query($sql2) or die('Query Error!');

为什么mysql_insert_id()得到的值为0 (字段类型均设的是int!)

多进程并发,能否保证mysql_insert_id取的是自己插入的id!

...全文
187 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxflove 2005-11-10
  • 打赏
  • 举报
回复
几天没有上来,不好意思!

我的table1……id是AUTO_INCREMENT属性,table2……id也是AUTO_INCREMENT属性啊,只不过mysql_insert_id()插入的字段不是 AUTO_INCREMENT属性!

不行啊。。
rardge 2005-11-10
  • 打赏
  • 举报
回复
那你在第一条语句提交执行后,先打印一下mysql_insert_id的值,看看有没有。
另外这个函数设计的时候已经保证不会受并发影响了。
water_mys 2005-11-10
  • 打赏
  • 举报
回复
按照你的写法,应该没问题.
coolhpy 2005-11-08
  • 打赏
  • 举报
回复
表中必须有一个字段的有AUTO_INCREMENT属性才行```
zalvsa 2005-11-08
  • 打赏
  • 举报
回复
来迟了,要设置一个AUTO_INCREMENT属性的字段。
颓废的老猫 2005-11-08
  • 打赏
  • 举报
回复
你的字段类型是不是 auto_increment 的?
mysql_insert_id() 所需要的字段必须是auto_increment的
Cain 2005-11-08
  • 打赏
  • 举报
回复
int mysql_insert_id ( [resource link_identifier] )


mysql_insert_id() 返回给定的 link_identifier 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 link_identifier,则使用上一个打开的连接。


你可以指定 link_identifier

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧