请求double值始终显示0.00

时间:2014-06-30 16:56:26

标签: php mysql double number-formatting

我试着展示一个双重的'来自MySQL列的值,我使用number_format()转换它,但我得到的全部时间是0.00作为答案。 我的代码;

PHP:

<?php

$user = $_SESSION['username'];
$a = $_GET['a'];

// ...

if ($a == "balance") {
    $querys= "SELECT balance FROM users WHERE Username='$user'";
    $results=  mysql_query($querys);
    $rows = mysql_fetch_row($results);
    $bfloat = number_format($rows['balance'], 2);
    echo $bfloat;
}

?>

转换正在运行,唯一的问题是答案是0.00,而不是用户拥有的余额。例; 1.37

1 个答案:

答案 0 :(得分:0)

您应该使用:

$bfloat = number_format($rows[0], 2);

而不是

$bfloat = number_format($rows['balance'], 2);

因为您使用mysql_fetch_row功能。如果您想使用$rows['balance'],则应使用mysql_fetch_assoc函数来获取数据,而不是mysql_fetch_row

当然你不应该再使用mysql函数了(不推荐使用),你的代码很容易受到SQL注入攻击。