Intereting Posts
изменение% title $ wpdb-> query () поддержка нескольких запросов Динамический контент из другого БД с пользовательским URL Удалить временную метку страницы с помощью функции.php, чтобы она не отображалась в результатах поиска Google. Описание Сайт WordPress не перенаправляется должным образом Как сделать поле электронной почты на странице профиля доступным только для подписчиков? Пользовательский запрос поиска – включает только настраиваемые поля и заголовок WooCommerce permalinks Проблема с работой WordPress после перемещения серверов Вызов глобальной переменной array () в дочернем / шаблоном woocommerce Плагины не отображаются для настраиваемого шаблона Как отладить действие «save_post»? Ошибка отправки формы с помощью get_template_part () Вставить в сообщение сообщение отсутствует для определенных изображений Получение значения атрибута из короткого кода

Амортизированный вызов -> Функция wpdb :: escape ()

Я получаю много ошибок в моем журнале отладки:

Амортизированный вызов -> Функция wpdb :: escape () – вместо этого используйте wpdb :: prepare () или esc_sql ()

Вместо того, чтобы просто отключать журнал отладки, я пытаюсь «исправить» «плагин по ошибке». Ниже приведены строки, использующие wpdb::escape() :

 $wpdb->query(sprintf( "UPDATE %s SET %s = '%s' WHERE ID = %d" , $wpdb->posts , $wpdb->escape($key) , $wpdb->escape($visibility) , $post_id )); 

Solutions Collecting From Web of "Амортизированный вызов -> Функция wpdb :: escape ()"

prepare работает немного иначе, чем побег в том, что он работает на целых строках и управляет цитированием.

 $pat = "UPDATE {$wpdb->posts} SET %s = %s WHERE ID = %d"; $qry = $wpdb->prepare( $pat, $key, $visibility, $post_id ); $wpdb->query($qry); 

Вам вообще не нужно свопиться в имя таблицы, и при prepare вы не можете поменять его, потому что имя таблицы будет зациклировано и SQL сломается.