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

Sự khác biệt giữa PDO-> query () và PDO-> execute ()

Mặc dù có bất kỳ sự khác biệt nào về mặt lý thuyết, không có chức năng nào trong số này nên được sử dụng - vì vậy, không có gì phải lo lắng.

Lý do duy nhất của việc sử dụng PDO là hỗ trợ cho các báo cáo đã chuẩn bị sẵn , nhưng không có chức năng nào trong số này cung cấp nó. Vì vậy, chúng không nên được sử dụng.

Sử dụng prepare()/execute() thay vào đó, đặc biệt cho các câu lệnh UPDATE, INSERT, DELETE.

Xin lưu ý rằng mặc dù các tuyên bố chuẩn bị được quảng cáo rộng rãi như một biện pháp an ninh, nhưng nó chỉ nhằm thu hút sự chú ý của mọi người. Nhưng họ thực mục đích là định dạng truy vấn thích hợp . Điều này cũng mang lại cho bạn sự bảo mật - vì truy vấn được định dạng đúng cũng không thể được đưa vào - cũng như tác dụng phụ. Nhưng một lần nữa - định dạng là mục tiêu chính, chỉ vì ngay cả dữ liệu vô tội cũng có thể gây ra lỗi truy vấn nếu không được định dạng đúng.

CHỈNH SỬA:Xin lưu ý rằng execute() chỉ trả về TRUE hoặc FALSE để chỉ ra sự thành công của hoạt động. Đối với thông tin khác, chẳng hạn như số lượng bản ghi bị ảnh hưởng bởi UPDATE , các phương thức như rowCount() được cung cấp. Xem tài liệu .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi cú pháp chuẩn bị sẵn sàng

  2. Ví dụ DAYNAME () - MySQL

  3. Lớp kết nối cơ sở dữ liệu PHP

  4. Chèn nhiều MYSQL trong codeigniter

  5. Tự động tải kết quả tìm nạp các kết quả giống nhau lặp đi lặp lại