Транзакции php и методы
Ситуация - если в транзакции пишу insert into... то транзакция работает, если же создаю объект метода который делает insert into , то откат во время ошибки не происходит.
Так работает:
mysqli_begin_transaction($db);
try {
insert into ...
insert into ....
.....
mysqli_commit($db);
}catch (Exception $e) {
echo $e->getMessage();
mysqli_rollback($db);
}
Так не работает:
mysqli_begin_transaction($db);
try {
insertOne();
insertSecond();
.....
mysqli_commit($db);
}catch (Exception $e) {
echo $e->getMessage();
mysqli_rollback($db);
}
Во втором примере откат не происходит и вносится в базу , если в одном из инсертов есть ошибка. Можно ли что то сделать, чтоб в каждой транзакции не писать одни и теже insert а создавать объект метода?
Источник: Stack Overflow на русском