【发布时间】:2014-06-30 16:56:26
【问题描述】:
我尝试从 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
【问题讨论】:
-
完成了基本的调试,比如
var_dump($rows['balance']),在开始格式化之前看看里面有什么?而且你很容易受到SQL injection attacks -
旁注:您可能想要关闭那个 SQL 注入漏洞(用户名中带有
')How can I prevent SQL-injection in PHP? -
@MarcB 我不容易受到 SQL 注入的攻击,因为在注册/登录时所有空格都会转换为 _ 下划线。
标签: php mysql double number-formatting