期望 SELECT COUNT(DISTINCT country) 到 return 46 但只得到 1

Expecting SELECT COUNT(DISTINCT country) to return 46 but getting only 1

我在 PHP 中做了一个简单的函数。

它在会员数据库中寻找不同的国家。

有46个(手数),但是函数只返回1个

我是不是做错了什么?

function getCountryCount(){
    $construct = "SELECT COUNT(DISTINCT country) FROM members2";
    $run = mysql_query($construct);
    $count = mysql_num_rows($run);
    return $count;
}

查询 return 的行数是一。因此,您得到的是正确的。

如果你想得到计数,那么不要 $count = mysql_num_rows($run); 而只是 return 结果。

如果您想获取所有不同的值(而不是不同值的计数),正确的查询将是:

SELECT DISTINCT(country) from members2;

因此,如果 members2 包含 100 行 country 值设置为 "Australia" 和 37 行值设置为 "USA",您将得到一个结果行说 "Australia" 和一个结果行说 "USA".

根据您的查询,您只会得到一个显示“2”的结果,因为 table

中有 2 个不同的国家/地区