试着为mysql写一个PHP函数,SELECT SUM()

时间:2011-11-14 16:39:20

标签: php mysql

我正在尝试编写一个PHP函数,它获取表的1列中的值的总和。我的SQL语句工作得很好。但是,当我编写我的函数并尝试将变量回显到我的HTML代码中时,它返回'0'。

这是我的功能:

function get_asset_value($org_ID) {
global $db;
$query = "SELECT SUM(asset_value) FROM assets
          WHERE org_ID = '$org_ID'";
$asset_sum = $db->query($query);
$asset_sum = $asset_sum->fetch();
return $asset_sum;

在我的HTML中,我有以下内容:

<?php echo $asset_sum; ?>

我不确定这是否与我的函数的“fetch”部分有关。我真的不知道fetch做了什么,但我尝试从一个工作函数复制/修改这段代码(它不返回总和,但它是一个select语句)。

谢谢!

2 个答案:

答案 0 :(得分:1)

除了

SELECT SUM(asset_value) AS the_sum FROM assets WHERE ord_ID = '$ord_ID';
...
return $asset_sum['the_sum']

布拉德,

你最好做

$safer = mysql_real_escape_string($org_ID);

然后呢,

SELECT SUM(asset_value) AS the_sum FROM assets WHERE ord_ID = '$safer';
...
return $asset_sum['the_sum']

答案 1 :(得分:0)

SELECT SUM(asset_value) AS the_sum FROM assets WHERE ord_ID = '$ord_ID';

...

return $asset_sum['the_sum'];

问题是,您要返回整个记录,而不仅仅是您想要的字段。

另外,根据您在查询中插入该ID的方式判断,我怀疑您对SQL注入持开放态度。你应该learn to do prepared queries with PDO