$query = $db->query("SELECT * FROM orders");
while ($row = mysql_fetch_array($query)) {
$cost= array_sum($row['cost']);
}
这不起作用,我想计算所有元素的总和,但是我得到了这个错误:
警告:array_sum()需要参数 1为数组,字符串给出 C:\ XAMPP \ htdocs中\法尔科\类\ Controller.php这样 在第303行
知道如何计算来自mysql的所有元素吗?
感谢您的时间和帮助。
答案 0 :(得分:2)
为什么不让MYSQL处理呢?
$ query = $ db-> query(“SELECT orders。*,SUM(cost)as sum_cost FROM orders”);
答案 1 :(得分:2)
如果它只是你想要的总和,你可以让数据库为你做:
Select sum(cost) from orders
答案 2 :(得分:1)
试试这个:
$query = $db->query("SELECT * FROM orders");
$cost = 0;
while ($row = mysql_fetch_array($query)) {
$cost += $row['cost'];
}
或者来自mysql:
$query = $db->query("SELECT sum(`cost`) as `cost` FROM orders");
while ($row = mysql_fetch_array($query)) {
$cost = $row['cost'];
}
答案 3 :(得分:1)
这应该有效:
$query = $db->query("SELECT * FROM orders");
$cost = 0;
while ($row = mysql_fetch_array($query)) {
$cost += $row['cost'];
}
甚至更好
$query = $db->query("SELECT SUM(cost) FROM orders");
list($cost) = mysql_fetch_row($query);
答案 4 :(得分:1)
真的,听起来你只想要总和。
'SELECT SUM(cost) as sum_cost FROM ORDERS'