如何在mysql中使用count函数

时间:2017-06-06 07:18:09

标签: php mysqli

我是php的新手,我遇到了一个查询,它从表tree中取出所有记录,而不计算空记录。这是我的代码:

$query = mysqli_query($con, "SELECT COUNT('left') FROM tree WHERE userid='$eid' AND left not null");   

while ($result = mysqli_fetch_array($query)) {
    print_r($result);
}

但我得到了这个:

  

警告:mysqli_fetch_array()要求参数1为mysqli_result,布尔值在

中给出

3 个答案:

答案 0 :(得分:0)

您错过了is运营商。条件应为left IS not null

但请注意,您在字符串文字 count上应用'left'功能,而不是在left列上应用null功能。如果将其应用于列,则可以删除可为空性条件,因为聚合函数会跳过$q = mysqli_query($con,"SELECT COUNT(left) FROM tree WHERE userid='$eid'"); s:

{{1}}

答案 1 :(得分:0)

您的查询错误,您错过了查询中的 IS

mysqli_query($con,"SELECT COUNT(`left`) FROM tree WHERE userid='$eid'  AND  left not null");

更改为

mysqli_query($con,"SELECT COUNT(`left`) FROM tree WHERE userid='$eid' 
AND 
left IS not null"); 

在mysqli_query()之后粘贴下面的代码以查看错误。

if (!$q) {
    printf("Error: %s\n", mysqli_error($con));
    exit();
}

答案 2 :(得分:0)

您可以使用此代码

$q = mysqli_query($con,"SELECT COUNT(`left`) FROM tree WHERE userid='$eid' 
    AND 
    left IS NOT NULL");

    if(!q){
       while($r = mysqli_fetch_array($q)){
       print_r($r);
      }
    }