首页 > 解决方案 > 如何从 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
    }
}

我的问题是,我们如何创建条件内部while关联$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...

    }
}

我的问题是,当我尝试这样做时print_r($result),它只给了我:

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

而我想做的是用那个来执行“搜索和计数” [num_rows] => 11606。我们应该怎么做?

标签: phpmysql

解决方案


尝试将行作为数组获取:

$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...

   }
}

推荐阅读