Cukup keluarkan mysql_query('START TRANSACTION');
dan periksa kesalahan di setiap sisipan Anda. Jika salah satu dari mereka tidak berhasil, segera keluarkan ROLLBACK tanpa melakukan kueri yang tersisa. Jika semuanya baik-baik saja, keluarkan COMMIT.
Mungkin lebih mudah untuk menempatkannya di blok try-catch untuk menghindari penggunaan terlalu banyak level bersarang dengan if-else.
// START TRANSACTION
try{
// INSERT 1
if(failed)
throw new Exception();
// INSERT 2
if(failed)
throw new Exception();
// INSERT 3
if(failed)
throw new Exception();
// COMMIT
}
catch(Exception $e){
// ROLLBACK
}
Anda mungkin juga ingin melihat ekstensi PDO PHP . Transaksi adalah bagian dari fiturnya.