Ce qui suit est également correct :
if($query1->num_rows() > 0){
$row = $query1->row();
}
return $row->dPassword;
Ensuite, si votre requête devait renvoyer plus d'une seule ligne, vous pourriez opérer sur les résultats comme suit :
foreach($query1->result() as $row){
echo $row->field1;
echo $row->field2;
echo $row->etcetera;
}
Pour les résultats à une seule ligne, je renvoie généralement la ligne directement à partir du modèle comme suit :
return $query1->row();
En voici un exemple :
function select_provider_details($provider_id)
{
$this->db->select('*');
$this->db->from('providers');
$this->db->where('provider_id', $provider_id);
$query = $this->db->get();
if($query->num_rows() > 0)
{
$result['success'] = TRUE;
$result['query'] = $query->row();
}
else
{
$result['success'] = FALSE;
$result['error'] = "Provider not found in database";
$result['errorcode'] = "E003";
$result['query'] = $query->row();
}
return $result;
}
Ou pour une requête censée renvoyer plusieurs résultats, je renvoie l'intégralité de l'objet de résultats :
return $query1;