Mysql
 sql >> Base de données >  >> RDS >> Mysql

CodeIgniter result_array() sur erreur booléenne si la table est vide

Vous devriez vérifier si la requête a fonctionné/comporte des lignes avant d'essayer d'obtenir ses résultats. Si la table est vide, la requête ne fera rien.

$query = $this->db->get();

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

return $data;

PS Il n'y a aucune raison d'utiliser une boucle sur $query->result_array() , vous pouvez simplement le retourner. C'est déjà un tableau de lignes.

$query = $this->db->get();

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

return $data;