我希望获得最后插入行的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);
}现在两次我都得到了相同的身份。有什么问题。我是不是做错什么事了?
发布于 2014-02-18 05:22:02
如果使用mysqli函数,则必须使用id。您不能混合ext/mysql和ext/mysqli。
此外,UPDATE不生成新的自动增量id.您应该在INSERT之后调用mysqli_insert_id(),而不是更新。
发布于 2014-02-18 05:22:08
mysqli_insert_id()只返回用于INSERT查询的id。一个update查询将而不是返回一个id,因为根据定义,您必须在数据库中有一个行才能更新它。
https://stackoverflow.com/questions/21844941
复制相似问题