目前我正尝试使用4个单独的INSERT命令插入4个单独的表中。
如果所有4个INSERTS都成功,我只希望发生这种情况。如果任何INSERT失败,那么我不希望将任何数据输入到DB中。
目前我有一个看起来非常丑陋的PHP IF声明,我宁愿不在这里,因为我确信必须有更好的方法。
答案 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);