Php 如何将总和格式化为货币

Php 如何将总和格式化为货币,php,mysql,Php,Mysql,有很多问题,我在我的表中的一个字段上使用SUM,它可以工作,但只有一个小数位,我需要它是货币格式,我尝试了下面的代码和其他代码,但什么都没有 $query = "SELECT purchase concat('$', sum(purchase), 2) from dtable"; $result = mysql_query($query) or die(mysql_error()); // Print out result while($row = mysql_fetch_array($r

有很多问题,我在我的表中的一个字段上使用SUM,它可以工作,但只有一个小数位,我需要它是货币格式,我尝试了下面的代码和其他代码,但什么都没有

$query = "SELECT purchase concat('$', sum(purchase), 2) from dtable"; 

$result = mysql_query($query) or die(mysql_error());

// Print out result
while($row = mysql_fetch_array($result)){
    echo "Total ". $row['SUM(purchase)'];
    echo "<br />";
}

首先,请不要使用mysql*函数,因为它们已被弃用。移动到mysqli*函数

这个怎么样:

SELECT CONCAT('$', ROUND(SUM(`purchase`), 2)) AS `result` 
FROM `dtable`
CONCAT只是将字段连接在一起,因此,在您的情况下,最终将得到2美元。您需要一个类似ROUND的函数来设置数字的格式。舍入将所需的小数位数作为第一个参数。有关ROUND和其他MySQL数学函数的更多信息,请参见:

您也可以在PHP中使用

改变

$query = "SELECT purchase concat('$', sum(purchase), 2) from dtable";
....     
echo "Total ". $row['SUM(purchase)'];

你也可以使用

SELECT CONCAT('$',FORMAT(sum(purchase),2)) as purchase from dtable
将给出类似$1234567.89的结果查看money_format函数:
SELECT CONCAT('$',FORMAT(sum(purchase),2)) as purchase from dtable