我不确定是否应该为此使用SUM(),但是我想获取“ earnedcoins”列中所有值的总和,这是我的代码:
$sql = "SELECT SUM(earnedcoins) FROM users";
$result = mysqli_query($conn, $sql);
$earnedcoins = mysqli_num_rows($result);
echo $earnedcoins;
$conn->close();
不幸的是,它只会删除数字1。有人可以帮助我解决此问题吗?任何帮助将不胜感激。
答案 0 :(得分:2)
mysqli_num_rows()
将始终为该查询返回1
,因为您只返回一行-这是总行数。相反,您需要从SUM()
获取该值。
给SUM()
一个别名,然后获取该值。在使用诸如GROUP BY
之类的聚合函数时,您还应该使用SUM()
-我不知道您的表结构,但如果存在,也许GROUP BY id
也是如此。
$sql = "SELECT SUM(earnedcoins) as result FROM users";
$result = mysqli_query($conn, $sql);
$sum = $result->fetch_assoc()['result'];
echo $sum;
$conn->close();