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

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 10 июня 2016 в 22:46
Объясните логически почему так не получается? Все варианты работают не правильно. Ячейка в таблице float
  1. $this->insert('mytable', array('summ' => 2.5));
Записывается значение 2

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

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

  1. $this->filterEqual('user_id', 1)->increment('mytable', 'summ', 2.5);
или
  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')


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

В системных компонентах (типы контента) при записи числового дробного поля проблем нет.
#2 10 июня 2016 в 22:58
Приведите функцию lang_setlocale к такому виду и последний пример отработает как надо.
А вообще запись с точкой должна записываться, если поле имеет тип float, странно, что самый первый пример у вас не работает.
#3 10 июня 2016 в 23:05

Приведите функцию lang_setlocale к такому виду

Fuze
fuze как всегда прав. первый вариант работал, и исправление функции решило все вопросы
спасибо +
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.