[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не экранируются кавычки
Страницы: 1, 2, 3
user_name
Мне нужно записать сериализованную строку в бд. Что бы заэкранировать кавычки я использую addslashes Но в бд строка записывается без экранирования. и теперь не проходит не один sql запрос к этой строке где не экранированные кавычки. если вручную заэкранировать то все проходит. huh.gif
TranceIT
Цитата (user_name @ 8.04.2015 - 23:06)
и теперь не проходит не один sql запрос к этой строке где не экранированные кавычки

Вы хотите сказать, что селект поля с кавычками выдает ошибку?

_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
user_name
нет, селект не выдает. а например обновление поля выдает. любого столбца в этой строке
вот строка a:1:{i:0;s:21:"20150409010153752.jpg";}
вот ошибка Error : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '20150409010153752.jpg";} at line 1
user_name
видно что синтаксическая '20150409010153752.jpg". но в бд сохраняется так a:1:{i:0;s:21:"20150409010153752.jpg";} я думаю что сохраняться должно так a:1:{i:0;s:21:\"20150409010153752.jpg\";} с экранированными кавычками. тогда все работает без ошибок
user_name
У меня вообще знак "\" не сохраняется в БД. такая строка "asd\asd" сохраняется как "asdasd" поэтому и не экранируется. Но почему так huh.gif
Игорь_Vasinsky
кокой такой addslashes() ???? у мускула есть mysql_real_escape_string()

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
user_name
Я PDO использую.
volter9
Игорь_Vasinsky
Это PDO.

user_name
Можете попробовать подготовленные утверждения. Вместо query/exec, используйте prepare/execute. Типа так:
$stmt = $pdo->prepare('INSERT INTO table VALUES (?, ...)');
$stmt->execute([serialize($var)]);

А результат от INSERT'а получаете через $pdo->lastInsertId(), или $stmt->rowCount() > 0

_____________
Мой блог
Игорь_Vasinsky
в PDO в подготовленном запросе - все схавает как надо.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
Цитата
Можете попробовать подготовленные утверждения.


)) а зачем PDO нужен без использования предподготовленных запросов вообще ???? (если не учитывать всеядность субд)

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
user_name
volter9 Я их и так использую. еще через $pdo->quote прогнал. у меня даже слэш не сохраняется в базу
Игорь_Vasinsky
Цитата
еще через $pdo->quote

laugh.gif

убери его нафиг. - он и гадит тебе.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Миша
А так \\

_____________
Принимаю заказы, писать в ЛС
user_name
Игорь_Vasinsky это я просто решил проверить с ним, и только потом почитал мануал :в
Медведь И так \\ не сохраняется
Игорь_Vasinsky
покажи кусок кода. чё ты там ещё пробывал?))))

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.