Превключването от MySQL_query към PDO причинява нежелано екраниране

Наскоро превключвах всичките си стари извиквания на mysql_query към PDO. Срещнах проблем, който не присъстваше в конфигурацията на mysql_query. Когато се опитам да въведа променлива в база данни с кавички, тя се появява като екраниране в моята база данни. Имам деактивирани магически кавички в моя php.ini файл.

$myString = "Enter 'one' now";
$sql=$pdo->prepare("UPDATE $tbl_name SET string=:myString WHERE etc...);
$sql->execute(array(':myString' => $myString));

Това се актуализира до

Enter \'one\' now

Това, от което се нуждая, е

Enter 'one' now

Това не се случваше преди да премина към PDO. Има ли начин да се заобиколи това, без да се губи сигурността?

Благодаря!


person Milksnake12    schedule 14.08.2013    source източник
comment
Какво искаш да кажеш, че връща това ... Вие правите актуализация, тя не трябва да връща този низ ...   -  person cmorrissey    schedule 15.08.2013
comment
За съжаление, той актуализира тези стойности в базата данни.   -  person Milksnake12    schedule 15.08.2013


Отговори (1)


Имате активирани магически цитати на вашия сървър, Документация за PHP, защото ви казва различни начини, по които можете да го изключите.

По отношение на вашия коментар: можете също да опитате да създадете php.ini файл във вашата домашна директория със следното:

magic_quotes_gpc = off
magic_quotes_runtime = off
magic_quotes_sybase = off

Ако това не помогне, свържете се с вашия хост, за да разрешите проблема.

person Prisoner    schedule 14.08.2013
comment
Опитах се да добавя php_flag magic_quotes_gpc off и php_value magic_quotes_gpc off в моя .htaccess. Получавам грешка 500 на моя сайт, когато добавя тези редове. - person Milksnake12; 15.08.2013
comment
Използвате ли споделен хостинг? Ако е така, кой е той, тъй като може да има различен начин да го изключи (като използване на файл php.ini във вашата домашна директория, вижте моята редакция) - person Prisoner; 15.08.2013
comment
Само за пояснение, php.ini ще се нуждае само от тези три реда? Няма да се забърква с нещо друго по отношение на php? - person Milksnake12; 15.08.2013
comment
Всичко зависи от вашия уеб хост @Milksnake12. Всеки сървър е конфигуриран по различен начин, но много уеб хостове ще ви позволят да поставите файл php.ini във вашата папка home, така че да можете да замените тривиални конфигурационни елементи като този. Не ми вярвайте на думата обаче, свържете се с вашия доставчик или системен администратор. - person Prisoner; 15.08.2013
comment
Добавих файлове с тези редове и проработи. Благодаря ти много! - person Milksnake12; 15.08.2013