Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > волшебные кавычки |
Автор: Всемогущий 9.7.2007, 16:57 | ||
есть функция для обработки данных перед вставкой их в бд. Появляются не нужные кавычки,помогите решить задачу.
Добавлено через 59 секунд http://www.artkabinet.ru/gallery6.php |
Автор: GZep 9.7.2007, 17:14 | ||||
а так не проще?
Добавлено через 2 минуты и 33 секунды можно даже так:
|
Автор: UADeveloper 9.7.2007, 17:33 | ||
Null при условии топикстартера не обрабатывается (если в строке одни пробелы).
|
Автор: sTa1kEr 9.7.2007, 18:42 | ||||
Всемогущий Никогда так не делайте, если передаете переменную по ссылке! Т.к. в данном случае вы передаете ссылку не на переменную, а на результат операции присваивания. Хотя, по идеи, в данном случае PHP должен как минимум выдавать нотис.
Вот так переменная будет корректно передана по ссылке. И зачем вообще такая странная проверка? Проще проверять через is_numeric
PS И зачем почем зря Мерлина обидели? ![]() |
Автор: Всемогущий 9.7.2007, 18:45 |
UADeveloper, заменил на ваш вариант,всё равно лишние кавычки. посмотреть можно по той же ссылке. GZep, ваш вариант не подходит по той причине ,что все данные приходят как string а я потом разбираю где что |
Автор: sTa1kEr 9.7.2007, 19:08 | ||
UADeveloper, чему вы людей учите? ![]() Зачем писать два раза одно и тоже? Эти строки эквивалентны.
То же самое, зачем приводить к string-у, когда двумя строчками выше итак проверили, что это string? |
Автор: Всемогущий 10.7.2007, 02:33 |
Спасибо за внимание,на локальной машине всё прекрасно работает(и моя ,и любая из ваших функций), а на сервере числа почему то обрамляются в совершенно не нужные мне одинарные кавычки, поэтому главный вопрос: как наверняка отключить Magic Quotes или какой то другой механизм который добавляет лишние символы set_magic_quotes_runtime (0) не помогло... |
Автор: GZep 10.7.2007, 04:38 | ||||
через .htaccess. Если не заработает - выведет ошибку сервера 505, если не выведет эту ошибку - волшебные кавычки отключены.
Или вот - очень интересный пример:
|
Автор: Всемогущий 10.7.2007, 06:49 | ||
Ещё раз спасибо, Оказывается у меня нет возможности отключить magic_quotes :( решил проблемму самым ламерским способом: для получения на выходе типа integer стал перед return`ом к результату прибавлять ноль :(
|
Автор: Всемогущий 10.7.2007, 09:36 | ||
нашел,убил.
|
Автор: sTa1kEr 10.7.2007, 10:30 | ||||||||
При чем здесь Magic Quotes? http://ru2.php.net/manual/en/security.magicquotes.php никогда не добавляет кавычки, а только экранирует (добавляет слеши) к существующим кавычкам.
Это абсолютно то же самое, как и использование функций intval() и settype()
Очень забавный кусок кода ![]() |
Автор: Всемогущий 10.7.2007, 15:16 |
sTa1kEr, пожалуйста подскажите Кто мог их добавлять?? |
Автор: sTa1kEr 10.7.2007, 16:01 |
Кроме вашей функции их никто добавить не мог. Кроме того я показал во втором своем посте, как правильно проверять наличие числа в строке (а не через пятикратное конвертирование из int в string и обратно ![]() Если все равно не понятно откуда они берутся, то скажите какая у вас версия PHP и приведите полный код по которому вы тестируете. Будем разбиратся в конкретном случае. |