我想获取最后插入的行的 ID,我正在使用 mysql_insert_id() 函数。但给出问题
这是我的代码:
if($i == 0)
{
$query = "update events set e_did ='".$multi_event."' where eid = '".$display_id."'";
mysqli_query($con,$query);
file_put_contents('log.txt', mysql_insert_id(), FILE_APPEND);
}
else
{
$query = "INSERT INTO events (start_date, end_date, text, rec_type, event_pid, event_length, e_did) VALUES ('".$row['start_date']."','".$row['end_date']."','".$row['text']."','".$row['rec_type']."','".$row['event_pid']."','".$row['event_length']."','".$multi_event."')";
mysqli_query($con,$query);
file_put_contents('log.txt', 'A'.mysql_insert_id().'A', FILE_APPEND);
}
现在我两次都得到相同的 ID。什么问题。我是不是哪里做错了什么?
最佳答案
如果使用 mysqli 函数,则必须使用 mysqli_insert_id .你不能混合使用 ext/mysql 和 ext/mysqli。
此外,UPDATE 不会生成新的自增 id。您应该在 INSERT 之后调用 mysqli_insert_id(),而不是 UPDATE。
关于php mysql获取最后插入行的ID给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21844941/