Из формы HTML я получаю значение ввода с
$price = mysqli_real_escape_string($conn,$_POST['price']);
Затем я запрашиваю MySql с
$sql = mysqli_query($conn,"UPDATE products SET product_name='$product_name', price='$price' WHERE id='$pid'");
В форме номер отображается через запятую (например, 18,000
). Но когда я обновляю базу данных, я только получил 18
сохраняются.
Похоже, что MySql принимает запятую как десятичную точку, а затем удаляет 000. Поле в базе данных — INT (16).
Я ожидаю, что он будет храниться как 18000, после чего я могу отобразить в PHP number_format($price)
Поскольку столбец вашей базы данных имеет тип INT, который не поддерживает значения с запятой.
Вы можете заменить запятую, используя
$price = str_replace(",", "", $price);
А для отображения в PHP вы можете использовать number_format($price);
Других решений пока нет …