如果同时打开了一个以上的数据库资源,如果其中一个资源,没有使用insert语句或没有auto_increment类型的数据,或返回结果恰好为空值时,会导致mysql_insert_id()返回空值。
如以下写法,注:new Db()会产生一个数据库链接;
$db = new Db(); if(self::isOk($id)){ $sql = "insert into user_clect(videoid,favid,cdate) values ('$videoid',$favid,$cdate)"; $dbid=$db->insert($sql);
}
代码中的方法isOk有个数据库检索操作,返回0或者1,这就会导致$dbid返回值为空。
解决办法:
if(self::isOk($id)){ $db = new Db(); $sql = "insert into user_clect(videoid,favid,cdate) values ('$videoid',$favid,$cdate)"; $dbid=$db->insert($sql); }