![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Всемогущий |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 5 Всего: 13 |
есть функция для обработки данных перед вставкой их в бд.
Появляются не нужные кавычки,помогите решить задачу.
Добавлено через 59 секунд здесь можно посмотреть |
|||
|
||||
GZep |
|
||||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
а так не проще?
Добавлено через 2 минуты и 33 секунды можно даже так:
-------------------- ![]() ![]() |
||||
|
|||||
UADeveloper |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 8.7.2007 Где: Харьков Репутация: нет Всего: нет |
||||
|
||||
sTa1kEr |
|
||||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Всемогущий
Никогда так не делайте, если передаете переменную по ссылке! Т.к. в данном случае вы передаете ссылку не на переменную, а на результат операции присваивания. Хотя, по идеи, в данном случае PHP должен как минимум выдавать нотис.
Вот так переменная будет корректно передана по ссылке. И зачем вообще такая странная проверка? Проще проверять через is_numeric
PS И зачем почем зря Мерлина обидели? ![]() Это сообщение отредактировал(а) sTa1kEr - 9.7.2007, 18:49 |
||||
|
|||||
Всемогущий |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 5 Всего: 13 |
UADeveloper,
заменил на ваш вариант,всё равно лишние кавычки. посмотреть можно по той же ссылке. GZep, ваш вариант не подходит по той причине ,что все данные приходят как string а я потом разбираю где что |
|||
|
||||
UADeveloper |
|
||||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 8.7.2007 Где: Харьков Репутация: нет Всего: нет |
А что мешает сделать так?
Это сообщение отредактировал(а) UADeveloper - 9.7.2007, 19:01 |
||||
|
|||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
UADeveloper, чему вы людей учите?
![]() Зачем писать два раза одно и тоже? Эти строки эквивалентны.
То же самое, зачем приводить к string-у, когда двумя строчками выше итак проверили, что это string? |
|||
|
||||
Всемогущий |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 5 Всего: 13 |
Спасибо за внимание,на локальной машине всё прекрасно работает(и моя ,и любая из ваших функций),
а на сервере числа почему то обрамляются в совершенно не нужные мне одинарные кавычки, поэтому главный вопрос: как наверняка отключить Magic Quotes или какой то другой механизм который добавляет лишние символы set_magic_quotes_runtime (0) не помогло... |
|||
|
||||
GZep |
|
||||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
через .htaccess. Если не заработает - выведет ошибку сервера 505, если не выведет эту ошибку - волшебные кавычки отключены.
Или вот - очень интересный пример:
-------------------- ![]() ![]() |
||||
|
|||||
Всемогущий |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 5 Всего: 13 |
Ещё раз спасибо,
Оказывается у меня нет возможности отключить magic_quotes :( решил проблемму самым ламерским способом: для получения на выходе типа integer стал перед return`ом к результату прибавлять ноль :(
|
|||
|
||||
Всемогущий |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 5 Всего: 13 |
нашел,убил.
|
|||
|
||||
sTa1kEr |
|
||||||||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
При чем здесь Magic Quotes? Magic Quotes никогда не добавляет кавычки, а только экранирует (добавляет слеши) к существующим кавычкам.
Это абсолютно то же самое, как и использование функций intval() и settype()
Очень забавный кусок кода ![]() Это сообщение отредактировал(а) sTa1kEr - 10.7.2007, 15:36 |
||||||||
|
|||||||||
Всемогущий |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 5 Всего: 13 |
sTa1kEr,
пожалуйста подскажите Кто мог их добавлять?? |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Кроме вашей функции их никто добавить не мог. Кроме того я показал во втором своем посте, как правильно проверять наличие числа в строке (а не через пятикратное конвертирование из int в string и обратно ![]() Если все равно не понятно откуда они берутся, то скажите какая у вас версия PHP и приведите полный код по которому вы тестируете. Будем разбиратся в конкретном случае. Это сообщение отредактировал(а) sTa1kEr - 10.7.2007, 16:02 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |