Chinaunix首页 | 论坛 | 博客
  • 博客访问: 245311
  • 博文数量: 62
  • 博客积分: 1350
  • 博客等级: 中尉
  • 技术积分: 457
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-13 09:56
文章分类

全部博文(62)

文章存档

2016年(1)

2013年(9)

2012年(18)

2011年(31)

2010年(1)

2006年(2)

分类: Mysql/postgreSQL

2012-02-20 10:37:38

mysql_insert_id() 会将最近一次的insert操作中,产生的auto_increment字段值返回。mysql_insert_id()不受其它客户端请求干扰。非常有 用!但是稍不留意,mysql_insert_id()就会返回空值,有以下几种情况:

1,同时打开了一个以上的数据库资源,如果其中一个资源,没有使用insert语句,或,没有auto_increment类型的数据,或返回结果恰好为空值时,会导致mysql_insert_id()返回空值。

解决办法就是:指定连接资源即可。mysql_insert_id(this->conn);

2,此外的一种情况不是mysql_insert_id()本身导致的返回结果为空。有一次,用die(mysql_insert_id());来返回刚插入的id。数据库里已经成功插入了,但是返回确实空值,最后发现,die()只接受字符串。

解决办法:die(mysql_insert_id().”");就可以了。

如果程序执行不下去就去掉 die() 直接 mysql_insert_id().”" 就OK了

阅读(3362) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~