Приходит строка с 7,9 из input[type=number], в php убирается запятая на точку и приводится к float. Потом отправляется в БД. В результате в БД(колонка в таблице FLOAT) запись данного значения как "целое число" т.е просто 7 а не 7.9; Почему так может происходит? var_dump до отправки в запрос в БД показывает что отправятся float; Если через консоль INSERT с добрым числом отправляю то в БД все ок.
// Привидение к нужному типу str->float
public static function replacedComma($str) {
$pattern = ',';
$replaced = '.';
$result = str_replace($pattern,$replaced,$str) + 0;
return $result; //float
}
// Запись в БД
......
$stmt = $db->prepare('INSERT INTO employee_hours(employee_id,hours,status_id,date_time,note)
VALUES(?, ?, ?, FROM_UNIXTIME(?), ?)');
$hour = self::replacedComma(trim($hours));
$stmt->bind_param('iiiss',$id,$hour,$status,$timestamp,htmlentities(trim($note)));
......