Не записываются в БД дробные числа 2.5.1

 
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1827
Объясните логически почему так не получается? Все варианты работают не правильно. Ячейка в таблице float
Код PHP:
  1. $this->insert('mytable', array('summ' => 2.5));
Записывается значение 2

Код PHP:
  1. $this->insert('mytable', array('summ' => '2,5'));
Записывается значение 2

Код PHP:
  1. $this->filterEqual('user_id', 1)->increment('mytable', 'summ', '2,5');
Значение увеличивается на 2

Код PHP:
  1. $this->filterEqual('user_id', 1)->increment('mytable', 'summ', 2.5);
или
Код PHP:
  1. $summ = 5/2;
  2. $this->filterEqual('user_id', 1)->increment('mytable', 'summ', $summ);
Ошибка в запросе БД: 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 '5 WHERE (i.id = '1')' at line 2 UPDATE cms_mytable i SET i.summ = i.summ + 2,5 WHERE (i.id = '1')

Первый раз с таким столкнулся. Раньше подобных проблем при работе с числами в инстанте не было.
Что может быть?

В системных компонентах (типы контента) при записи числового дробного поля проблем нет.
Мой блог с плюшками
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4361
Приведите функцию lang_setlocale к такому виду и последний пример отработает как надо.
А вообще запись с точкой должна записываться, если поле имеет тип float, странно, что самый первый пример у вас не работает.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1827
Fuze:
Приведите функцию lang_setlocale к такому виду
fuze как всегда прав. первый вариант работал, и исправление функции решило все вопросы
спасибо +
Мой блог с плюшками
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: