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

Khi nào sử dụng các truy vấn chuẩn bị sẵn PDO. lỗi mysql_real_escape

Để giải quyết lỗi bạn đang gặp phải, hãy mysql_real_escape_string() yêu cầu kết nối mở qua mysql_connect() . Vì bạn không có nên nó đang cố gắng kết nối và không thành công (sử dụng tên người dùng của matthew , trong khi PDO của bạn đang kết nối với root ). Ngoài ra, bạn không thể (hoặc, không nên ) trộn và kết hợp mysql_real_escape_string()PDO - chúng là các thư viện khác nhau.

Về "khi nào" để sử dụng các câu lệnh chuẩn bị, nguyên tắc chung là bất cứ khi nào các giá trị không được mã hóa cứng. Ví dụ của bạn về LIKE '%hotmail%' không cần chuẩn bị, nó được mã hóa cứng và sẽ không bao giờ thay đổi (tất nhiên là trừ khi bạn cập nhật nó theo cách thủ công).

Nếu bạn có một truy vấn sẽ sử dụng một biến thuộc bất kỳ loại nào, hãy là dữ liệu từ $_POST hoặc $_GET hoặc một biến mà nhà phát triển đã tạo 10 dòng trước truy vấn, bạn nên sử dụng một câu lệnh đã chuẩn bị sẵn (hoặc ít nhất là thoát khỏi nó, hãy xem PDO::quote ).



  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ập nhật một bảng từ một bảng khác có nhiều cột trong sqlalchemy

  2. Thay thế cho KHÔNG VÀO trên MySQL

  3. SQL Lấy toàn bộ hàng dựa trên giá trị tối thiểu của cột được tính toán

  4. Không có Cơ sở dữ liệu nào được chọn khi truy xuất từ ​​trang web mysql

  5. MySQL nhận được số lượng bản ghi theo giờ, ngay cả những giờ không có bản ghi