Codeigniter模型中如何在外部循环变量中访问result_array()?

时间:2018-07-17 06:41:21

标签: php codeigniter

我无法访问CodeIgniter模型中循环之外的while循环变量

我的模特

$result=$this->db->query("SELECT * FROM product_categories where type='product'");
$result1 = $result->num_rows();
if($result1>0)
{
$outputfinal['value']='true';
$output[]='';
while ($e=$result->result_array()){

$output[]=$e;

}
}
print_r($output);
die();

如果我尝试打印。我遇到以下错误,请帮忙。

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 36 bytes) in

1 个答案:

答案 0 :(得分:3)

$result->result_array()已经返回了包含查询中所有记录的数组,无需使用while

$result=$this->db->query("SELECT * FROM product_categories where type='product'");
$result1 = $result->num_rows();
if($result1>0) {
    $outputfinal['value'] = 'true';
    $output = $result->result_array();
}
print_r($output);
die();

while ($e=$result->result_array()) 始终返回truthy值,并且循环无限地运行,从而导致上述内存错误。