Php 如何从MySQL结果创建条件

Php 如何从MySQL结果创建条件,php,mysql,Php,Mysql,我们使用这种方法处理MySQL结果: $sql = "SQL query here"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { //--- do something for each row } } 我的问题是,当与$result相关时,我们如何在内部创建条件,例如: $sql =

我们使用这种方法处理MySQL结果:

$sql = "SQL query here";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        //--- do something for each row
    }
}
我的问题是,当与$result相关时,我们如何在
内部创建条件,例如:

$sql = "SQL query here";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {

        $client_name = $row['client_name'];
        //-- step 1 : count how many 'client_name' in $result
        //-- step 2 : IF more than 5, do something...

    }
}
我的问题是,当我试图
打印($result)
时,它只会给我:

mysqli_result Object ( [current_field] => 0 [field_count] => 15 [lengths] => [num_rows] => 11606 [type] => 0 )

而我想做的是用这个
[num_rows]=>11606
执行“搜索和计数”。我们如何才能做到这一点?

尝试将行提取为数组:

$sql = "SQL query here";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
 while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {

    $client_name = $row['client_name'];
    //-- step 1 : count how many 'client_name' in $result
    //-- step 2 : IF more than 5, do something...

   }
}

我试着用你的密码,兄弟。。但它似乎有点问题:while($row=mysql\u fetch\u array($result,mysql\u ASSOC)),因为我尝试了
print\r($result)
之后,它没有显示任何内容。这与OP post的代码完全相同,只是您将OO调用(
$result->fetch\u ASSOC
)更改为过程调用(
mysql\u fetch\u array
)做了完全相同的事情。bro我刚刚得到了php.net示例,您正在打印一个对象的结果,因此您需要这些函数来将该对象提取到行中,如果您想获得一个字段的计数,您应该真正添加count(field)否则,您必须遍历整个结果集才能获得计数。