Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Các giao dịch PHP, MySQL, PDO - Mã bên trong khối try có dừng lại ở commit () không?

Nếu giao dịch không thành công vì bất kỳ lý do gì, mã sẽ dừng ở dòng xảy ra lỗi kết thúc sau đó việc thực thi sẽ chuyển trực tiếp đến khối bắt. Vì vậy, nó là đủ theo cách bạn viết nó trong Code Block 2.

Lưu ý rằng bạn phải luôn ném lại Ngoại lệ sau khi khôi phục. Nếu không, bạn sẽ không bao giờ biết đâu là vấn đề. Vì vậy, nó nên được

try{
    $stmt = $db->prepare(... 1 ...);
    $stmt->execute();

    $stmt = $db->prepare(... 2 ...);
    $stmt->execute();

    $stmt = $db->prepare(... 3 ...);
    $stmt->execute();

    $db->commit();

    return true;
}catch(Exception $e){
    $db->rollBack();
    throw $e;
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách cập nhật MySql DB bằng Flex

  2. Hiển thị hình ảnh từ cơ sở dữ liệu MySQL trên một cột duy nhất của JTable

  3. MySQL Chọn nhóm bản ghi dựa trên dấu thời gian mới nhất

  4. Cách kiểm tra phiên bản MySQL của bạn

  5. Làm thế nào để triển khai một hệ thống bình luận lồng nhau?