Foros del Web » Programando para Internet » PHP » Zend »

[SOLUCIONADO] Comprobar el resultado de una consulta

Estas en el tema de Comprobar el resultado de una consulta en el foro de Zend en Foros del Web. Quiero comprobar si ya tengo un usuario introducido en la base de datos y si no es así crearlo. En mi controlador tengo: Código: $cliente ...
  #1 (permalink)  
Antiguo 22/04/2013, 10:16
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Comprobar el resultado de una consulta

Quiero comprobar si ya tengo un usuario introducido en la base de datos y si no es así crearlo.

En mi controlador tengo:

Código:
$cliente = new Application_Model_DbTable_Cliente();

               $resultado = $cliente->sacar($dni);

                if(mysql_num_rows($resultado)==0){
                    $cliente->agregar($dni,$nombre,$apellidos,$password,$telefono,$email,$direccion,$provincia,$cp,$ca,$fecha);
                    $this->_helper->redirector('index');
                }else{
                    throw new Exception('Error ya existe un usuario con ese DNI');
                }

Y en el modelo:


Código:
     public function sacar($dni)
    {
        $row = $this->fetchAll($this->select()->where('dni LIKE ?',$dni));
        return $row;
    }
Si no hay ningún cliente con ese DNI introducido en la base de datos va todo perfecto, el problema es cuando sí que hay un cliente con ese DNI, me aparece "An error occurred.Application error"
¿Alguna idea de por qué?
  #2 (permalink)  
Antiguo 22/04/2013, 10:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Comprobar el resultado de una consulta

fetchAll te regresa un objeto del tipo Zend_Db_Table_Rowset, no puedes usar mysql_num_rows sobre ese objeto, tienes que comprabarlo directamente con la propiedad length, o usando directamente count().

Saludos.
  #3 (permalink)  
Antiguo 22/04/2013, 11:20
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: Comprobar el resultado de una consulta

Ahh, vale. Sabía que era algo de eso porque hiciese lo que hiciese nunca entraba en el else.

Gracias

Etiquetas: consulta-mysql, valor, variable, zend-form
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:40.