Intereting Posts
Методы написания масштабируемого веб-сайта Как удалить таблицу MSSQL Datetime GETDATE () Столбцы, если они являются старыми или старыми с использованием PHP Номер страницы dompdf Расчет идеального веса, учитывая пол и высоту. Как мы можем преобразовать int в дюймы? Правильный способ передачи сложных переменных в javascript через HTML Mockery – call_user_func_array () ожидает, что параметр 1 будет действительным обратным вызовом Как правильно настроить соединение PDO Uncaught SyntaxError: Неожиданный конец ввода JSON CoreDumpDirectory не работает на ubuntu; получение ошибки сегментации с помощью php PHP и MySQL Выберите одно значение PHP ob_start vs opcode APC, объясняет различия и реальное использование в мире? Каков путь моего модуля в Drupal 7? Сообщите Apache, чтобы использовать определенную версию PHP, установленную с использованием phpbrew 3-уровневая развертка столбчатой ​​диаграммы в режиме highchart? PHP: вывести последнюю строку огромного файла текстового журнала

Преобразование строки в тип mySql DECIMAL

Я пытаюсь вставить данные о цене элемента из HTML-формы в базу данных mySQL. Поле ввода определяется следующим образом:

<input type="text" name="price" value="0.00"/> 

Форма отправляется на следующую страницу, в которой позаботится материал базы данных. В настоящее время я просто вводил точное значение $ _POST ['price'] в поле базы данных, которое имеет тип DECIMAL (4,2). Я слышал, что это было сохранено в виде строки, но при каждой попытке сделать это база данных выдает ошибку. Есть ли функция PHP для преобразования строк и типа MySQL DECIMAL? Или мне нужно будет сделать какое-то форматирование?

Вы никогда не должны просто « вводить точное содержимое $_POST['...'] » в любое поле базы данных: это дверь, открытая для SQL-инъекций.

Вместо этого вы должны убедиться, что данные, которые вы вводите в ваши SQL-запросы, действительно действительны в соответствии с ожидаемыми типами данных DB.

Для десятичных знаков решение на стороне PHP должно было бы использовать функцию floatval :

 $clean_price = floatval($_POST['price']); $query = "insert into your_table (price, ...) values ($clean_price, ...)" if (mysql_query($query)) { // success } else { echo mysql_error(); // To help, while testing } 

Обратите внимание, что я не ставил никакой цитаты вокруг значения 😉