将PHP float / decimal值插入MySQL

时间:2013-12-03 18:06:35

标签: php mysql insert floating-point decimal

说实话,这是一个非常简单的问题。我一直在寻找谷歌的解决方案,但似乎没有任何效果。我的数据库中有以下字段:

decimal(2,1)

我在PHP中有两个变量(来自通过POST插入到表单中的值)我想要一起添加然后插入到这个字段中。

$sql2 = $link->prepare("INSERT INTO league_stats (match_id, rating)
VALUES (?, ?)");
$sql->bind_param("ii", $match_id, $rating);

$match_id = $_SESSION["match_id"];
$rtg1 = $_POST[$rating_1"];
$rtg2 = $_POST[$rating_2"] / 10;
$rating = $rtg1 + $rtg2;

例如,rtg1将 7 ,rtg2将为3除以10,因此它显示为 0.3 。然后我将这两个数字加在一起,使 7.3 。当我将其插入数据库时​​,它总是将第二个数字显示为0.因此,它将显示为 7.0 而不是7.3。我尝试了很多不同的方法,但我总能得到完全相同的结果。

我甚至将$ rating分配给原始值只是为了测试我的变量是否有问题:

$rating = 7.5

仍然是7.0。

有人可以提供一个如何正确地将浮点型PHP变量插入MySQL的示例吗?还可以解释如何正确添加两个浮点值?谢谢!

1 个答案:

答案 0 :(得分:5)

您告诉php将$match_id$rating转换为整数。你应该使用:

$sql->bind_param("id", $match_id, $rating);

而不是

$sql->bind_param("ii", ...