【问题标题】:PHP MySQL insert in float(3,1) always get "0" as decimalPHP MySQL 在 float(3,1) 中插入总是得到“0”作为十进制
【发布时间】:2012-07-05 20:25:18
【问题描述】:

我想将此值插入到我的数据库中的 FLOAT(3,1) 列中:

$sec['votos_rating'] = 5 + ($sec['votos_pos'] * (5 / $sec['votos_total'])) - ($sec['votos_neg'] * (5 / $sec['votos_total']));

但我总是得到1.02.03.0 等...

你知道我做错了什么吗?

这就是问题所在:

    $db->addInteger('votos_rating', $sec['votos_rating']);

我应该使用 addFloat 代替... ;)

【问题讨论】:

  • 将变量附加到查询中是否与PDO语句有关? $db->addInteger ?
  • @Kris.Mitchell 是的,我刚刚注意到...你知道我应该改用什么吗? ;)
  • 嗯,你用的是什么数据库库?
  • 根据其他陈述,我猜是 'addFloat'。
  • 抱歉,我可以删除这个问题吗?我很尴尬:$

标签: php mysql floating-point decimal


【解决方案1】:

使用addFloat($val) 实现您想要的行为。

【讨论】:

    【解决方案2】:

    会不会是你使用$db->addInteger?

    【讨论】:

      猜你喜欢
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 2023-04-05
      • 1970-01-01
      相关资源
      最近更新 更多