Php 循环查询如何在Codeigniter中获取结果数组

Php 循环查询如何在Codeigniter中获取结果数组,php,mysql,codeigniter,Php,Mysql,Codeigniter,我正在尝试获取循环中查询的结果,但我无法获取循环中查询返回的所有记录。请指导我 $qry = ''; $qry = "SELECT `user_id` FROM `view_property_user_lab`"; $qry .= " WHERE property_id = '" . $propId . "'"; $result = $this->db->query($qry); $res

我正在尝试获取循环中查询的结果,但我无法获取循环中查询返回的所有记录。请指导我

  $qry = '';
    $qry = "SELECT    
            `user_id`  FROM 
            `view_property_user_lab`";
    $qry .= " WHERE property_id = '" . $propId . "'";
    $result = $this->db->query($qry);
    $result_count = $result->result_array();
    foreach ($result_count as $row)
    {
        $user_name_qry = "SELECT
                                 `name`
                                    FROM USER
                                    WHERE user_id =  '" . $row['user_id'] . "'";
                                   $user_name_result = $this->db->query($user_name_qry);
    }

    $result_count_user = $user_name_result->result_array();
    print_r($result_count_user);
这是数组的转储

 Array ( [0] => Array ( [name] => abc) )

我认为您的问题在于您使用的是foreach循环,但每次覆盖相同的变量(
$user\u name\u result
),并且只使用最后一个分配的变量从结果资源获取数据(因为您在循环外调用该变量!)

但总的来说,正如tersko在评论中所说,在循环中进行查询不是一件好事(用户增加越多,数据库中的数据就越多)

您可以使用联接查询简化所有内容(不过,这里只需猜测您的表架构):


循环中的查询是一个非常糟糕的主意,尤其是因为循环将随着每个新用户的增加而增长。
$sql = "SELECT u.name FROM view_property_user_lab AS v JOIN user AS u ON u.user_id = v.user_id WHERE v.property_id = ?";
$query = $this->db->query($sql,array($propID));

print_r($query->result_array());