我正在尝试编写一个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语句)。
谢谢!
答案 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。