Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 计算并列出某一行中的所有人_Php_Mysql_Count - Fatal编程技术网

Php 计算并列出某一行中的所有人

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

好吧,我想数一数一个家族里的人数。我把所有的氏族发送到这样的数据库中:name(氏族名称)roomOwner(氏族所有者) 我有这样一个用户表:username,clan(clan的所有者) 我怎么能让所有同宗的人都数一数呢? 我想应该是这样,但我不确定

    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)并确保它返回结果,然后才开始调试代码。