mysql查询和php查询给了我错误的结果

ulydmbyx  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(302)

我有一个access日志数据库,有超过110000条记录。
我在控制台上运行下一个查询:

SELECT COUNT(`remote_host`), `remote_host` FROM `access_log`
GROUP BY `remote_host` HAVING COUNT(`remote_host`) > 99
ORDER BY COUNT(`remote_host`) DESC

我有这个结果。mysql查询结果
有143条记录。
但是当我用同一个查询执行一个php代码时,结果会有所不同,有174条记录(??)。用php查询
第一条记录的下一个值是:89.248.174.17114160
2365对14160!!??
第二个结果没问题。但是。。。接下来的结果也不一样!!
php代码很简单:

$q_1 = "SELECT COUNT(`remote_host`), `remote_host` FROM `access_log` GROUP BY `remote_host` HAVING COUNT(`remote_host`) > 99 ORDER BY COUNT(`remote_host`) DESC ;";

$aItems = doQuery($con, $q_1);
echo count($aItems)."<br/>";
var_dump($aItems);

函数doquery:

function doQuery($con, $query) {
    $result = mysqli_query($con, $query);

    $arr = array();
    if ($result) {
        while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
            $arr[] = $row;
        mysqli_free_result($result);
    }
    return $arr;
}
fhg3lkii

fhg3lkii1#

只需在php中使用as定义一个计数

SELECT COUNT(`remote_host`) AS RHOST, `remote_host` FROM `access_log`
GROUP BY `remote_host` HAVING COUNT(`remote_host`) > 99
ORDER BY COUNT(`remote_host`) DESC

相关问题