【发布时间】:2018-11-20 22:00:27
【问题描述】:
这是 AJAX 的返回,它显示了我试图将什么值存储到数据库中:
这是真正存储到数据库中的内容(我存储的是 58.00):
这是表的结构:
这里是 PHP:
$req = $bdd->prepare("INSERT INTO salon_histo(reference, designation, colour, size, type, price, qty, payment, date) VALUES(:reference, :designation, :colour, :size, :type, :price, :qty, :payment, NOW())");
$req->execute(array(
'reference' => $_POST['reference'],
'designation' => $_POST['designation'],
'colour' => $_POST['colour'],
'size' => $_POST['size'],
'type' => $_POST['type'],
'price' => floatval($price[0]),
'qty' => $_POST['soldQty'],
'payment' => $_POST['payment']
));
$req->closeCursor();
echo json_encode($price[0]);
当我尝试存储 58,33 时,MySQL 如何在 0 处存储 2 位小数的数据?我尝试在 PHP 中使用 floatval,确实数字变为 58。
【问题讨论】:
-
请不要使用屏幕截图。复制粘贴文本数据和标记作为代码或引用。
-
对于 MySQL,数字通常格式化为
XX.XX,而不是XX,XX。将数字从逗号转换为句点,然后再将其插入 MySQL。 -
我猜你的价格是欧盟格式
x,xx而不是 PHP/MySQL/任何十进制格式x.xx所以当你floatval()它时,它会在(包括)之后删除所有内容逗号;您可能想查看NumberFormatter 类或number_format() -
您的问题是“逗号”。 Mysql 使用 '句号' 作为小数分隔符。
标签: php jquery mysql ajax phpmyadmin