获取一个表中所有行的总和

时间:2017-11-13 21:49:28

标签: php mysql sum

我尝试使用以下代码从一个表中获取所有行的总和,但遗憾的是我的数据库给了我" NULL"回来。

PHP:

$get_cash=mysqli_query($db, "SELECT SUM(price) FROM products WHERE ID='$F_User_ID'"); 
$fetch_cash = mysqli_fetch_assoc($get_cash); 
$cash = $fetch_cash["cash"]; 
echo "<p>Money spent already: $cash €</p>";

MySQL:

MariaDB [database]> SELECT SUM(price) FROM products WHERE ID='100001';
+------------+
| SUM(price) |
+------------+
|       NULL |
+------------+
1 row in set (0.00 sec)

所以我想知道Person F_User_ID已经在他购买的所有产品中花了多少钱。

1 个答案:

答案 0 :(得分:1)

我们可以用零替换NULL,我们可以将别名分配给表达式,以用作结果集中的列名。如果执行此查询,它将返回包含名为cash的列的单个行。

SELECT IFNULL(SUM(price),0) AS `cash` FROM products WHERE id = 'someval'

推荐阅读:

对妈妈的利用:https://xkcd.com/327/又名小鲍比表

OWASP SQL注入:https://www.owasp.org/index.php/SQL_Injection