我有一个PHP应用程序,每当我提交表单时都会自动提交插入。我使用的代码如下所示:
$dbConnection = new mysqli($hostname,$username,$password,$database);
$query = "some query here";
$queryResult = $dbConnection->query($query);
if($queryResult){
$_SESSION['insertedID'] = $dbConnection->insert_id;
}
else{
}
如您所见,我使用auto_increment值作为SESSION变量。那么,我决定为我的应用程序添加一些提交/回滚保护。所以,我改变了我的代码:
$dbConnection = new mysqli($hostname,$username,$password,$database);
$dbConnection->autocommit(FALSE);
$query = "some query here";
$queryResult = $dbConnection->query($query);
if($queryResult){
$dbConnection->commit();
$_SESSION['insertedID'] = $dbConnection->insert_id;
}
else{
$dbConnection->rollback();
}
但是,我发现“$ dbConnection-> insert_id”函数不再有效。提交/回滚是否可行,或者我运气不好?如果这对提交/回滚不起作用,是否有其他方法可以快速获取最后一个auto_increment ID,或者我也不幸在那里?
答案 0 :(得分:6)
在 $dbConnection->insert_id
commit()