PHP - PDO возвращает экранированный слеш, как его убрать? - PullRequest
7 голосов
/ 01 августа 2010

Я делаю некоторые выборки с объектом PDO, но после fetch результата я получил строку с экранированными ' до \', как я могу отключить это?

Ответы [ 3 ]

8 голосов
/ 01 августа 2010

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

2 голосов
/ 01 августа 2010

Похоже, у вас включено магические кавычки .

Вы должны отключить магические кавычки из php.ini .

Или из скрипта, вы можете справиться с этим так:

if (get_magic_quotes_gpc())
{
  $str = stripslashes($str);
}

Теперь вы можете использовать переменную $str как обычно.

1 голос
/ 21 марта 2014

Я работал на виртуальном хостинге, к которому у меня не было доступа php.ini - ini_set() также не будет работать.Этот фрагмент работал как шарм: [source ]

// since PHP 5
if (get_magic_quotes_gpc()) {
    function stripslashes_gpc(&$value)
    {
        $value = stripslashes($value);
    }
   array_walk_recursive($_GET, 'stripslashes_gpc');
   array_walk_recursive($_POST, 'stripslashes_gpc');
   array_walk_recursive($_COOKIE, 'stripslashes_gpc');
   array_walk_recursive($_REQUEST, 'stripslashes_gpc');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...