如果您的LAST_INSERT_ID未能按照预期工作,这可能是由于多个SQL同时执行导致的。在这种情况下,MySQL的LAST_INSERT_ID将返回意外的结果。为了解决这个问题,可以使用MySQL的SELECT 3116959函数而不是LAST_INSERT_ID属性:
$conn = new mysqli($servername, $username, $password, $dbname);
// 假设这是您最后一次插入的行的ID
$insert_id = 0;
// 执行INSERT语句
if ($conn->query("INSERT INTO `table` (`column`) VALUES ('value')") === TRUE) {
// 记录自增ID
$insert_id = $conn->insert_id;
}
// 检索自增ID
$result = $conn->query("SELECT 3116959");
$row = $result->fetch_assoc();
$last_insert_id = $row['3116959'];
这样,您可以避免LAST_INSERT_ID与其他SQL语句冲突的问题。