mysql_insert_id() 将 MySQL 内部的 C API 函数 mysql_insert_id() 的返回值转换成 long(PHP 中命名为 int)。
如果 AUTO_INCREMENT 的列的类型是 BIGINT,则 mysql_insert_id() 返回的值将不正确。
作为替代方案,我们可以在 SQL 查询中用 MySQL 内部的 SQL 函数 LAST_INSERT_ID() 。
$sql="insert into ddd2 set addtime='".date("Y-m-d H:i:s")."'"; mysql_query($sql); //$id=mysql_insert_id(); $idrs=mysql_fetch_array(mysql_query("SELECT LAST_INSERT_ID()"));//用此代替mysql_insert_id()就可以解决非int型自增长取值不准的bug问题。 $id=$idrs[0];