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());