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

Mysql Real Escape String Hàm PHP Thêm \ vào Mục nhập Trường của Tôi

Nếu bạn đang nhận dữ liệu $ content của mình từ một biểu mẫu (chứ không phải "nguyên trạng" trong mã PHP) , có thể bạn đang gặp sự cố do dấu ngoặc kép Magic (xem magic_quotes_gpc )

Về cơ bản:

Nếu dấu ngoặc kép được bật (bạn có thể kiểm tra điều này trong phần bổ sung của phpinfo() , chẳng hạn) , bạn sẽ nhận được loại "thoát kép":

  • Các ký tự đó sẽ được thoát ra một lần bằng dấu ngoặc kép,
  • Và sau đó, chúng sẽ được thoát lần thứ hai bởi mysql_real_escape_string

Giải pháp tốt
trong trường hợp này là không ngừng sử dụng mysql_real_escape_string , nhưng để tắt magic_quotes_gpc trong cấu hình của bạn ...

... Tuy nhiên, vì bạn không có quyền truy cập vào nó, bạn sẽ thực sự phải "hoàn nguyên" tác dụng của dấu ngoặc kép, gọi stripslashes trên đầu vào bạn nhận được là $_GET$_POST , trước khi bắt đầu sử dụng nó.

Lưu ý:đó là lời khuyên được đưa ra trên trang hướng dẫn của mysql_real_escape_string (trích dẫn) :



  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ôi nên lưu trữ bao nhiêu chữ số có nghĩa trong cơ sở dữ liệu của mình cho một tọa độ GPS?

  2. HIỂN THỊ BẢNG BIỂU trong MySQL

  3. Chấm dứt các kết nối mysql nhàn rỗi

  4. Cách dễ nhất để trích xuất ngày bắt đầu và ngày kết thúc nước rút từ db JIRA là gì?

  5. Vấn đề trên KEY DUPLICATE + AUTO INCREMENT mysql