我想在PHP中使用一些事务型mysql,我已经看过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,则抛出类似异常。