2010-12-06 11 views
6

Estoy usando la Clase de registro activo de Codeigniter. Entonces la consulta se ve así:Obteniendo un campo de la primera fila de una consulta

$query = $this->db->get_where('Table', array('field' => $value)); 

Ahora, ¿cuál es la forma más rápida de obtener un campo de la primera fila? Lo $query->first_row->field; ¿trabajo?

Gracias!

Respuesta

9

¡Aunque rápido es maravilloso, los errores no lo son! Asegúrese de que siempre comprobar los resultados antes de intentar acceder a ellos con ($query->num_rows() > 0)

más rápido (más concisa) forma:

$query = $this->db->get_where('Table', array('field' => $value)); 

echo(($query->num_rows() > 0) ? $query->first_row()->field : 'No Results'); 

En esencia, el mismo que:

$query = $this->db->get_where('Table', array('field' => $value)); 
if($query->num_rows() > 0) 
{ 
    echo $query->first_row()->field; 
} 
else 
{ 
    echo 'No Results'; 
} 

Para uso de múltiples campos:

$query = $this->db->get_where('Table', array('field' => $value)); 

if ($query->num_rows() > 0) 
{ 
    $row = $query->row(); 

    echo $row->title; 
    echo $row->name; 
    echo $row->body; 
} 
+0

Gracias por la respuesta detallada! – skndstry

8
$query->first_row()->field 
Cuestiones relacionadas