Что использовать вместо mysql_escape_string() в Drupal 7?

Начиная с версии PHP 4.3.0, функция mysql_escape_string() считается устаревшей. PHP будет выдавать соответствующее предупреждение.

Deprecated function: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

Т.е. рекомендуется использовать вместо неё — mysql_real_escape_string(). Но та в свою очередь также устарела, начиная с версии PHP 5.5.

Deprecated function: mysql_real_escape_string(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead.

Т.е. если вы используете PHP версии 5.6 и выше, то рекомендуется использовать соответствующие функции библиотек баз данных — mysqli или PDO.

При работе с базой в Drupal обычно не приходится использовать функции подготовки аргументов, все необходимые операции уже заложены в соответствующие классы при выполнении запросов к базе.

Но если ваш запрос требует сложной подготовки, то вы наверняка конструируете его в чистом PHP. Тогда потребуется обращение к аналогам mysql_escape_string().

Решение

Drupal 7 расширяет класс PDO с помощью, по сути, интерфейса (абстрактного класса)  DatabaseConnection (/includes/database/database.inc). Методы которого реализуются в соответствующих классах-драйверах подключения к базе данных.

Но в основе лежит PDO, так что необходимо лишь получить доступ к текущему подключению и вызвать метод PDO::quote(), как аналог mysql_escape_string().

Вот пример использования:

PDO::qoute() добавляет одинарные кавычки и блокирует спец символы внутри строки.

Мало букафф? Читайте есчо !

Если не работают ЧПУ для drupal под nginx...

Июль 16, 2014 г.

Арендовал у netangels "облачный VDS" и решил попробовать их образ Debian Wheezy Nginx + PHP (php-fpm). С Nginx дела до тех пор не имел, потому с некоторыми настройками пришлось разбираться с чистого листа. На самом деле, единственный вопрос, с ...

Читать

Подключение CSS/JS к форме Drupal

Октябрь 12, 2017 г.

Если необходимо подключить стили или скрипты к своей форме, как это сделать? Первый подход - добавить необходимые стили и скрипты в тему оформления. В этом случае, если к примеру, идет речь о форме редактирования, которая отображается в шаблоне ...

Читать

Конвертируем в PDF

Сентябрь 3, 2013 г.

Есть несколько задач, связанных с конвертацией документов в PDF. Меня интересует перевод из HTML и создание PDF средствами PHP. Конвертировать страницу, отображенную в браузере в PDF. Здесь обычно используют плагины. Это работает до тех пор, пока ...

Читать

Использование nodequeue для управления порядком элементов в списке views

Август 8, 2018 г.

Задача в состоит в том, чтобы дать редактору возможность "ручного" управления порядком элементов в списке, создаваемом с помощью views. К примеру, есть ...

Читать
 

Комментарии к «Что использовать вместо mysql_escape_string() в Drupal 7?»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: