Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql_insert_id()返回';0';_Mysql_Insert_Auto Increment - Fatal编程技术网

mysql_insert_id()返回';0';

mysql_insert_id()返回';0';,mysql,insert,auto-increment,Mysql,Insert,Auto Increment,我有一个运行正常的查询,它将一行插入到一个主键自动递增的表中。但是mysql_insert_id()总是显示为“0” $this->event->insertEvent($event); $lastid = mysql_insert_id(); 我已经在站点的另一个区域使用了相同的命令,它工作得非常好。 这背后的原因是什么?摘自PHP页面,如果无法解决问题,您可以做些什么来排除另一件事情: 如果mysql\u insert\u id()返回0或null,请检查您是否也有 包括链接标

我有一个运行正常的查询,它将一行插入到一个主键自动递增的表中。但是mysql_insert_id()总是显示为“0”

$this->event->insertEvent($event);
$lastid = mysql_insert_id();
我已经在站点的另一个区域使用了相同的命令,它工作得非常好。
这背后的原因是什么?

摘自PHP页面,如果无法解决问题,您可以做些什么来排除另一件事情:

如果mysql\u insert\u id()返回0或null,请检查您是否也有 包括链接标识符。这是可选的,但如果您有超过 一个数据库连接,那么这是必要的

例如:mysql\u insert\u id($conn)


文档显示
上一次查询成功时为自动增量列生成的ID,如果上一次查询未生成自动增量值,则为0,如果未建立MySQL连接,则为FALSE。
是否在该函数中运行另一个查询,该查询将覆盖上一个insert id结果?能否显示运行insert的方法?这可能是相关的。从设计的角度来看,它会更清楚,因此您的
insertEvent()
为您返回了id。我正在使用其他人的基本代码。我可以确认insertEvent正在填充数据库,以及用最新的数字填充auto increase字段。当我插入更多的字段时,自动递增的幅度也在增加。此外,这个项目中只有一个数据库。我现在能够让insertEvent()正确返回值。感谢Zerkms指出这一点。当只有一个数据库时有必要吗?您可以有多个连接到一个数据库。没有参数的mysql\u insert\u id()将是使用最后一个连接,但insert查询可能从另一个连接执行,因此mysql\u insert\u id()将返回0