Задать вопрос

Почему 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))
);
  • Вопрос задан
  • 97 просмотров
Подписаться 1 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Stepik
    Язык программирования PHP
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
ematveev
@ematveev
PHP разработчик / руководитель / писатель
ты попробуй кавычки внешние поменять одинарные на двойные, например
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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