我想从数据库中获取金额,并希望将这些金额的总和存储在变量中并打印该变量。我搜索并获得了一个链接,为自己添加一个数字,并在我的代码中尝试了它,但我没有得到预期的输出。
这是我的代码..
<?php
$cid = $_REQUEST['cname'];
$cmd = mysql_query("SELECT amount FROM fund WHERE clientid = $cid");
while($row = mysql_fetch_array($cmd)) {
$acnt += $row['amount'];
echo $acnt;
}
?>
我通过此输出的结果就像 - 10001200130015002000
。
但我只是期待最后一个2000
的附加值仅作为我的输出。
答案 0 :(得分:2)
让MySQL为您完成工作而不是循环:
$cmd = mysql_query("select sum(amount) amount from fund where clientid = '$cid'");
$row = mysql_fetch_assoc($cmd);
$acnt = $row['amount'];
echo $acnt;
顺便说一下,你必须逃避原始输入或使用这样的格式化函数:
$sql = sprintf('select sum(amount) amount from fund where clientid = %d', $cid);
$cmd = mysql_query($sql);
// ...
答案 1 :(得分:0)
试用此代码:
您无需使用loop.on代表只使用sql查询执行金额总和。
$cmd = mysql_query("select sum(amount) amount from fund where clientid = $cid");
$row = mysql_fetch_array($cmd);
$acnt = $row['amount'];
echo $acnt;
答案 2 :(得分:-1)
您每次在while循环中回显值,这就是您每次获取显示量的原因。在while循环之后回显量。
while($row = mysql_fetch_array($cmd))
{
$acnt += $row['amount'];
}
echo $acnt;