我尝试使用以下代码从一个表中获取所有行的总和,但遗憾的是我的数据库给了我" 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已经在他购买的所有产品中花了多少钱。
答案 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