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
và $_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) :