user_name
9.04.2015 - 01:06
Мне нужно записать сериализованную строку в бд. Что бы заэкранировать кавычки я использую addslashes Но в бд строка записывается без экранирования. и теперь не проходит не один sql запрос к этой строке где не экранированные кавычки. если вручную заэкранировать то все проходит.
TranceIT
9.04.2015 - 02:21
Цитата (user_name @ 8.04.2015 - 23:06) |
и теперь не проходит не один sql запрос к этой строке где не экранированные кавычки |
Вы хотите сказать, что селект поля с кавычками выдает ошибку?
_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать. Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!
user_name
9.04.2015 - 03:09
нет, селект не выдает. а например обновление поля выдает. любого столбца в этой строке
вот строка 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
9.04.2015 - 03:14
видно что синтаксическая '20150409010153752.jpg". но в бд сохраняется так a:1:{i:0;s:21:"20150409010153752.jpg";} я думаю что сохраняться должно так a:1:{i:0;s:21:\"20150409010153752.jpg\";} с экранированными кавычками. тогда все работает без ошибок
user_name
9.04.2015 - 04:07
У меня вообще знак "\" не сохраняется в БД. такая строка "asd\asd" сохраняется как "asdasd" поэтому и не экранируется. Но почему так
Игорь_Vasinsky
9.04.2015 - 07:37
кокой такой 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
9.04.2015 - 10:30
Я PDO использую.
volter9
9.04.2015 - 10:35
Игорь_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
9.04.2015 - 10:37
в 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
9.04.2015 - 10:38
Цитата |
Можете попробовать подготовленные утверждения. |
)) а зачем 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
9.04.2015 - 10:43
volter9 Я их и так использую. еще через $pdo->quote прогнал. у меня даже слэш не сохраняется в базу
Игорь_Vasinsky
9.04.2015 - 10:45
Цитата |
еще через $pdo->quote |
убери его нафиг. - он и гадит тебе.
_____________
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
9.04.2015 - 10:49
Игорь_Vasinsky это я просто решил проверить с ним, и только потом почитал мануал :в
Медведь И так \\ не сохраняется
Игорь_Vasinsky
9.04.2015 - 10:55
покажи кусок кода. чё ты там ещё пробывал?))))
_____________
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
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.