php - 如何正确发送小数到mysql数据库?

标签 php mysql pdo

我正在尝试让 MySQL 十进制字段类型正常工作,但我就是不明白。我将 $_POST['price'] 字段发送到小数字段,例如 3.45,它始终将其存储为 3.00

如果它不存储小数,我会做错什么?

找到解决方案:PDO::PARAM for type decimal?

PDO 没有十进制存储类型,似乎是一个值得错过的东西。需要将其存储为字符串而不是数字。

最佳答案

$_POST['price'] 变量从字符串转换为浮点时使用 floatval()。该值应该存储在您的数据库中。

但要小心!由于可能存在舍入误差,在计算价格时浮点运算并不是那么好。在处理价格时,我通常使用整数运算,然后手动输入小数点。

因此,在您的示例中,我将存储 345 来表示 $3.45

关于php - 如何正确发送小数到mysql数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17753630/

相关文章:

Javascript 通过标签 ID 跟踪页面中的标签总数 (<div>)

javascript - 最后在 tbody 的每个表行中插入额外的列

php - Apache 后备资源配置

php - 我正在尝试从即将弃用的 mysql 语句到 msqli 准备语句,我做错了什么?

php - 如何从 pdo 语句显示数组的所有值?

php - 在文件顶部列出 php 函数? (或者,如何快速跳转到 php 函数?)

php - 将多个上传文件的文件名存储到 MySQL 数据库中

Mysql 在第三个表上使用 WHERE 连接三个表

带有 MySQL 集群的 PHP/PDO

PHP/MySQL : Database class and dependency injection