Почему PDO::quote заключает строку в кавычки с обратными слэшами?

На двух серверах с разными версиями php метод quote в одном и том же скрипте ведёт себя по разному.
На одном всё ок, строка просто заключается в кавычки. А там где свежий php7.4 строка заключается в экранированные кавычки и получается вот такой невалидный запрос:
UPDATE `categories` SET `name`=\'Мониторы 23+\\"\',`link`=\'http://portal.f5-online.ru/katalog/monitory-23plus\' WHERE `md5`=\'1df6506d6138b0f40d7eefa0f685ea0c\';

$sql = sprintf("UPDATE `categories` SET `name`=%s,`link`=%s WHERE `md5`=%s;",
    $this->dbh->quote($name),
    $this->dbh->quote($url),
    $this->dbh->quote(md5($url))
);
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
ematveev
@ematveev
PHP разработчик / руководитель / писатель
ты попробуй кавычки внешние поменять одинарные на двойные, например
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы