分类: 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了