Преобразование запятой в точку, когда число ниже, чем 1

Я нашел одну проблему с преобразованием числа с запятой в точку, если число ниже, чем 1. Если число выше, то 1 все в порядке.

Я использую этот сценарий замены:

$price = str_replace(",", ".", $_POST['PRICE']);
  • если я отправляю 0.5 - все в порядке
  • Если я отправлю 0,5 (с запятой), то я получаю эту ошибку:

Предупреждение: mysql_query() ожидает как минимум 1 параметр, 0 задан в ....

Поле PRICE имеет формат DOUBLE.

Все остальные числа выше 1 принимаются с запятой.

2
добавлено отредактировано
Просмотры: 1
de
@Tufan MySQL _ !! ?? Нет! <�Код> PDO ::
добавлено автор Cole Johnson, источник
@ColeJohnson: Если только. : P Сообщение об ошибке дает понять, что он использует эту древнюю, noobish, устаревшую mysql_ дерьмо. -0.49 только для этого.
добавлено автор cHao, источник
Вероятно, вы не избегаете или не цитируете контент. Побег и цитата. И ради пользы, validate ввод пользователя.
добавлено автор Charles, источник
где вы находитесь в строке mysql_query?
добавлено автор Tufan Barış Yıldırım, источник

2 ответы

$_price = str_replace(",", ".", $_POST['PRICE']);//convert to applicable format
$PRICE = is_numeric($_price) ? (float)$_price : null;//for consistency that there will be smth. similar to number, but not sneaky piece of script from kind user
2
добавлено

Перед запуском SQL-запроса вы должны использовать settype() .

$PRICE = str_replace(",", ".", $_POST['PRICE']);    
settype($PRICE, 'float');
1
добавлено