mysqli_insert_id并 没有
返回表的最后一排的ID。从文档中,它:
…返回由查询产生的ID,该查询是对具有具有AUTO_INCREMENT属性的列的表进行的。如果最后一个查询不是
INSERTorUPDATE语句,或者如果修改后的表没有带有AUTO_INCREMENT属性的列,则此函数 将返回零 。
(我的重点)
也就是说,如果要在自动生成ID的插入 后 立即运行它,则 在 与插入相同的连接上,它将返回为该插入生成的ID。
上面链接的文档中的示例对此进行了说明:
$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";$mysqli->query($query);printf ("New Record has id %d.n", $mysqli->insert_id);


