Php 计算并列出某一行中的所有人
好吧,我想数一数一个家族里的人数。我把所有的氏族发送到这样的数据库中:name(氏族名称)roomOwner(氏族所有者) 我有这样一个用户表:username,clan(clan的所有者) 我怎么能让所有同宗的人都数一数呢? 我想应该是这样,但我不确定Php 计算并列出某一行中的所有人,php,mysql,count,Php,Mysql,Count,好吧,我想数一数一个家族里的人数。我把所有的氏族发送到这样的数据库中:name(氏族名称)roomOwner(氏族所有者) 我有这样一个用户表:username,clan(clan的所有者) 我怎么能让所有同宗的人都数一数呢? 我想应该是这样,但我不确定 function countMembers($clan) { include "mysql.ws"; $query = mysql_query("SELECT u.clan AS clan, a.* FROM use
function countMembers($clan) {
include "mysql.ws";
$query = mysql_query("SELECT u.clan AS clan, a.*
FROM
users u
JOIN clans a ON(a.roomOwner = u.clan)
WHERE
u.username = '$clan'");
while($row = mysql_num_rows($query)){
$members = count($row);
return $row;
}
}
这应该起作用:
select clan, count(username) as "# Of Members"
from users
where clan is not null
group by clan
请不要使用
mysql.*
函数,它已弃用(请参阅),并且容易受到sql注入的攻击。使用或。这里有一个更大的注释:请不要使用mysql.*
函数来编写新代码。它们不再得到维护,社区已经开始。看到了吗?相反,你应该学习并使用或。如果你不能决定哪一个,我会帮你的。如果你选择PDO,。回应上面的观点,以防我的+1不够。@Truth copycat…:P但我必须承认——你的的确更大……我怎样才能摆脱这场没有家族的争吵呢?如果您加入clan以获取有关该氏族的所有其他信息,如原始查询中所述,它会显示clan“members 1340”,这也会过滤掉空的氏族。@Barmar您完全正确,这也是一个有效的解决方案。我现在有点卡住了,我正试图打印出该数字,但它不起作用。在数据库中运行查询(例如,使用phpAdmin)并确保它返回结果,然后才开始调试代码。