Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

CodeIgniter result_array() em erro booleano se a tabela estiver vazia


Você deve verificar se a consulta funcionou/tem alguma linha antes de tentar obter seus resultados. Se a tabela estiver vazia, a consulta não fará nada.
$query = $this->db->get();

$data = array();
if($query !== FALSE && $query->num_rows() > 0){
    foreach ($query->result_array() as $row) {
        $data[] = $row;
    }
}

return $data;

P.S. Não há razão para usar um loop sobre $query->result_array() , você pode simplesmente retornar isso. Já é uma matriz de linhas.
$query = $this->db->get();

$data = array();
if($query !== FALSE && $query->num_rows() > 0){
    $data = $query->result_array();
}

return $data;