Chỉ cần phát hành mysql_query('START TRANSACTION');
và kiểm tra lỗi ở mỗi phụ trang của bạn. Nếu một trong số chúng không thành công, hãy đưa ra ROLLBACK ngay lập tức mà không cần thực hiện bất kỳ truy vấn nào còn lại. Nếu mọi thứ suôn sẻ với tất cả chúng, hãy đưa ra CAM KẾT.
Có thể dễ dàng đặt chúng vào một khối try-catch để tránh sử dụng quá nhiều cấp độ lồng ghép với 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
}
Bạn cũng có thể muốn xem xét tiện ích mở rộng PDO của PHP . Giao dịch là một phần của các tính năng của nó.