Câu hỏi này đã được đặt ra vài lần ở nhiều nơi, nhưng tôi chưa tìm thấy câu trả lời rõ ràng và rõ ràng. Hầu hết các giải pháp liên quan đến những người nói rằng để vô hiệu hóa Magic Quotes trên tập tin php.ini (mà tôi đã làm) hoặc sửa đổi các tập tin WP cốt lõi.
Dù sao thì, câu hỏi đặt ra là: tại sao mỗi lần tôi sử dụng $ wpdb-> insert hoặc $ wpdb-> update một dấu gạch chéo được thêm vào trước bất kỳ trích dẫn nào. Vì vậy, ví dụ:
Tôi đã ăn dâu tây trở thành tôi \ đã dâu tây
Dưới đây là một số mẫu mã tôi đã sử dụng ăn:
$id = $_POST['id'];
$title = $_POST['title'];
$message = $_POST['message'];
$wpdb->update('table_name', array('id'=>$id, 'title'=>$title, 'message'=>$message), array('id'=>$id))
Vấn đề tương tự cũng được tại đây: Wordpress Database Output - Remove SQL Injection Escapes nhưng chưa bao giờ được giải quyết ngoài "vô hiệu hóa các trích dẫn kỳ diệu"
Bạn có chắc bạn đã báo giá ảo thuật vô hiệu hóa? Bạn đã kiểm tra nó trong 'phpinfo()' – zerkms
Yea, đây là đoạn trích từ phpinfo -> magic_quotes_gpc \t Tắt \t Tắt magic_quotes_runtime \t Tắt \t Tắt magic_quotes_sybase \t Tắt \t Tắt –
có những phụ/thiếu dấu ngoặc kép trong ' update() 'gọi lỗi chính tả hoặc thực sự trong mã của bạn? – Phil