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

Với PDO, làm cách nào tôi có thể đảm bảo rằng một câu lệnh CẬP NHẬT đã thành công?

Nó phụ thuộc vào những gì bạn có nghĩa là "thành công." Nếu ý của bạn là truy vấn được thực thi mà không bị lỗi thì PDO sẽ đưa ra một ngoại lệ khi bị lỗi hoặc trả về FALSE từ PDOStatement::execute() , tùy thuộc vào chế độ lỗi bạn đã đặt, do đó, một truy vấn "thành công" trong trường hợp đó sẽ chỉ là một trong đó phương thức thực thi không trả về FALSE hoặc đưa ra một ngoại lệ.

Nếu ý bạn là "thành công" ở chỗ đã thực sự có hàng được cập nhật (thay vì chỉ có 0 hàng được cập nhật), thì bạn cần kiểm tra xem bằng cách sử dụng PDOStatement::rowCount() , sẽ cho bạn biết số hàng bị ảnh hưởng từ truy vấn trước đó.

Cảnh báo:Đối với các bản cập nhật trong đó newvalue = oldvalue PDOStatement::rowCount() trả về số không. Bạn có thể sử dụng

để vô hiệu hóa hành vi không mong muốn này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo Trình kích hoạt để xóa các hàng cũ hơn 90 ngày

  2. MySQL - Trừ giá trị từ hàng trước, nhóm theo

  3. Làm rõ múi giờ PHP / MySQL

  4. Đối chiếu thay đổi MySQL của tất cả các bảng

  5. Các bảng có mục đích duy nhất là chỉ định một tập hợp con của bảng khác