2015-05-13 3 views
0

Я работаю над плагином WordPress, и недавно я планировал перейти с SQL на $wpdb. Я использую метод с именем $wpdb->prepare вместо mysql_real_escape_string, но он не работает. Вот что я пробовал:

Код:

echo $fetch_row; 

Выход:

а: 5: {s: 9: "task_name"; s: 10: "Создать резервную копию"; s: 9: "механизм"; s: 10: "SingleCall"

Код:

echo mysql_real_escape_string($fetch_row) 

Выход:

«A: 5: {S: 9: \ "task_name \", S: 10: \ "Backup Now \"; s: 9: \ "механизм \"

После выполнения функции mysql_real_escape_string вы можете увидеть разницу в строке.

Я пришел this question on stackexchange, поэтому использовал $wpdb->prepare($fetch_row) , но выход не изменился, он точно так же как и вход.

Предложите мне, где я делаю ошибки.

ответ

0

Из того, что я вижу, что вы пытаетесь дезинфицировать на результат, а не SQL запрос. Поэтому по умолчанию будет возвращено false, так как wpdb->prepare() проверяет строку с шаблоном формата sprintf/vsprintf.

https://developer.wordpress.org/reference/classes/wpdb/prepare/

И от того, что переменная содержит вы можете проверить что-то более связанный с ним.

- обновит на дополнительные пояснения

Смежные вопросы