Могу ли я использовать "insert_id" с фиксацией / откатом PHP?
У меня было приложение 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 или мне тоже не повезло?
1 ответ
Решение