Синдром зубочистки...

matilda

Новичок
Синдром зубочистки...

Всем привет!

У меня смешная проблема:
использую placeholder'ы в sql запросах.

PHP:
mysql_qw('UPDATE ' . $table . ' SET name=? ', $new_name);
При каких либо редактированиях полей БД обрытные слэши(подставленные к кавычкам) имеют свойство размножаться. Подскажите плиз как от этого избавиться. Использовать регулярные выражения или есть еще какие способы?
 

SelenIT

IT-лунатик :)
matilda

Способы есть и подробно описаны здесь.

Ищи недоработку в своей реализации плейсхолдеров, а лучше бери проверенные решения...

p.s. Отличное название топика - не в бровь, а в глаз!
Надо будет подсказать Фанату как вариант названия для соответствующего раздела faq :)
 

svetasmirnova

маленький монстрик
Что значит " При каких либо редактированиях полей БД "? После записывания данных в базу в поле слэши перед кавычками?
 

matilda

Новичок
После записывания данных в базу в поле слэши перед кавычками?
Да именно так...
В данном случае у меня есть строка в которой встречается кавычка. Но placeholder сам поставит перед ней обратный слэш. В моем скрипте есть функция редактирования тиких строк. Так вот, если я отредактирую поле, то предыдущий поставленный слэш автоматически размножится...
 

SelenIT

IT-лунатик :)
matilda

А эта строка с кавычкой, по всей видимости, приходит из формы?
 

SelenIT

IT-лунатик :)
Все ясно. magic_quotes_gpc = on, что добавляет слеши к пришедшим от юзера данным, а плейсхолдеры слешат их еще раз. Что делать - описано в ссылке, приведенной выше.
 

svetasmirnova

маленький монстрик
matilda
это не placeholders виноваты, а magic_quotes Внимательно прочитай http://phpfaq.ru/slashes

-~{}~ 08.12.05 23:09:

SelenIT
Не видела твой подправленный первый ответ. +1 про название топика :)
 
Сверху