我有一个用php编写的简单函数。它在成员数据库中查找不同的国家。有46个(手工计算),但函数只返回1。我做错什么了吗?
function getCountryCount(){ $construct = "SELECT COUNT(DISTINCT country) FROM members2"; $run = mysql_query($construct); $count = mysql_num_rows($run); return $count; }
6kkfgxo01#
如果要获取所有不同的值(而不是不同值的计数),正确的查询是:
SELECT DISTINCT(country) from members2;
所以如果 members2 包含100行 country 将值设置为“australia”和37,并将值设置为“usa”,您将得到一个显示“australia”的结果行和一个显示“usa”的结果行。通过查询,您只会得到一个结果“2”,因为表中有两个不同的国家
members2
country
ulydmbyx2#
查询返回的行数为1。因此你得到的是正确的。如果你想数数,那就别这么做 $count = mysql_num_rows($run); 相反,只需返回结果。
$count = mysql_num_rows($run);
2条答案
按热度按时间6kkfgxo01#
如果要获取所有不同的值(而不是不同值的计数),正确的查询是:
所以如果
members2
包含100行country
将值设置为“australia”和37,并将值设置为“usa”,您将得到一个显示“australia”的结果行和一个显示“usa”的结果行。通过查询,您只会得到一个结果“2”,因为表中有两个不同的国家
ulydmbyx2#
查询返回的行数为1。因此你得到的是正确的。
如果你想数数,那就别这么做
$count = mysql_num_rows($run);
相反,只需返回结果。