php - mysql_num_rows() 不适用于 SUM()?

标签 php mysql

当不存在匹配行时,在下表中运行以下查询时,使用 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/

相关文章:

javascript - 将内联 PHP 中的值传递给 javascript 变量

php - MySQL SQL_INSERT_ID() 和 LAST_INSERT_ID 不起作用

php - 使用 finderQuery 的 CakePHP 2.3 模型关联适用于 Model->read() 但不适用于 Model->find()

java - 将数据从 MySQL DB 加载到 Java 应用程序时如何定义列类型?

php - WordPress WP MVC : MVC Fatal Error: Field "user_id" not found for use in a form input

php - 当我在 mysql 中有同一个用户的两个条目时显示重复数据

php - Laravel: "debug"配置没有改变

php - SQL:从数据库表中的一列中选择不同的值

MySQL 连接未按要求工作

mysql - 在 go 或 nodejs 中处理大量请求/秒