Я хочу использовать какой-нибудь транзакционный mysql в моем PHP, я посмотрел документы по PHP и мне нужно использовать несколько функций,
mysqli_begin_transaction
mysqli_rollback
mysqli_commit
Мой код в настоящее время выглядит следующим образом,
mysqli_begin_transaction($db_link, MYSQLI_TRANS_START_READ_WRITE);
$sql = "SELECT * FROM table";
$result = mysqli_query($sql);
if(!$result){
$rollback = true;
}
$sql = "SELECT * FROM another";
$result = mysqli_query($sql);
if(!$result){
$rollback = true;
}
$sql = "DELETE FROM table_name WHERE condition;"
mysqli_query($sql);
if(mysqli_affected_rows($db_link) < 0){
$rollback = true;
}
if($rollback){
mysqli_rollback($db_link)
} else {
mysqli_commit($db_link)
}
Это очень грубый псевдокод, но мой вопрос в том, что функция транзакции возвращает все значения в соответствии с документацией php, поэтому я должен обернуть их в условные операторы и выдать исключение чего-то похожего, если они не возвращают true.