仅成功插入所有4个表或根本不插入

时间:2016-06-07 20:00:44

标签: php mysql if-statement sql-insert

目前我正尝试使用4个单独的INSERT命令插入4个单独的表中。

如果所有4个INSERTS都成功,我只希望发生这种情况。如果任何INSERT失败,那么我不希望将任何数据输入到DB中。

目前我有一个看起来非常丑陋的PHP IF声明,我宁愿不在这里,因为我确信必须有更好的方法。

1 个答案:

答案 0 :(得分:3)

您应该使用交易:

<?php
$conn = mysqli_connect(...)
mysqli_begin_transaction($conn);
//do some inserts
if($insert1 && $insert2 ..) {
    mysqli_commit($conn);
} else {
    mysqli_rollback($conn);
}

根据您的数据库配置,您应禁用自动提交:mysqli_autocommit($conn, false);