相同的查询,不同的结果在php vs phpmyadmin-为什么?

时间:2013-09-09 16:59:37

标签: php mysql phpmyadmin

我正在尝试从MySQL数据库中获取每个员工的总操作数。我的脚本给我的总数远低于数据库中所有员工的总数。我在查询中使用SUM函数。查询在phpmyadmin中运行正常,但在我的脚本中没有。任何想法为什么会这样。

$query = "SELECT user_id, SUM(num_actions) as action FROM pro_actions GROUP BY user_id ORDER BY action DESC";
if ($result = $db->query($query)) {
    $count = 0; // this is the total of all employee actions. which adds up correctly!
    while ($row = mysqli_fetch_array($result)) {
        $count += $row['action'];
        echo '<tr><td>';
        echo $row['user_id'];
        echo '</td><td>';
        echo $row['action'];
        echo '</td></tr>';
    }
    $result->free();
}

当我运行此脚本时,员工1005有63个操作。但是,当我在phpmyadmin中运行此查询时,员工1005有194个操作(这是正确的)。所有员工在脚本输出中的操作较少。有趣的是$ count变量输出正确的数量,这是所有动作的总和......请帮助解决这个问题。

1 个答案:

答案 0 :(得分:0)

$query = "SELECT user_id, SUM(num_actions) as action FROM pro_actions GROUP BY user_id ORDER BY action DESC";
if ($result = $db->query($query)) {
    $count = 0; // this is the total of all employee actions. which adds up correctly!
    while ($row = mysqli_fetch_array($result)) {
        $count += $row['action'];
        echo '<tr><td>';
        echo $row['user_id'];
        echo '</td><td>';
        echo $row['action'];
        echo '</td></tr>'; //tag mismatch
    }
    $result->free();
}