作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当不存在匹配行时,在下表中运行以下查询时,使用 PHP mysql_num_rows() 返回“1”。
经过测试,我发现问题发生在我在查询中使用 SUM() 函数时。如果我从查询中取出 SUM(),mysql_num_rows() 会像它应该的那样返回“0”。
我应该使用其他方法代替 mysql_num_rows() 来查明表中是否有匹配的行吗?
表:
name | students_money | grade
George | 5 | A
Bill | 10 | A
Dan | 7 | A
代码:
$sql = "SELECT SUM(students_money) AS sum_money FROM students_table WHERE name = 'Tom' AND name = 'Jack'";
$result = @mysql_query($sql, $con) or die(mysql_error());
$num_rows = mysql_num_rows($result);
if ($num_rows < 1) {
echo "not everyone has paid";
exit;
}
while($row = mysql_fetch_array($result)) {
$sum_money = $row[sum_money];
$total = $total + $sum_money;
}
最佳答案
SUM()
是一个聚合函数。它获取为一个组返回的所有行并将它们相加。
由于您没有 GROUP BY
子句,它会将所有行的值相加,即使没有。然后它将总计作为单行返回,因此应该只有 1 行。
如果你说清楚你要返回的东西,我可以试着帮你写个声明返回。
关于php - mysql_num_rows() 不适用于 SUM()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4006508/
我是一名优秀的程序员,十分优秀!