Foros del Web » Programando para Internet » PHP »

obtener el numero de registros de una consulta pdo

Estas en el tema de obtener el numero de registros de una consulta pdo en el foro de PHP en Foros del Web. Hola, como deberia hacer para recuperar el numero de registros de una consulta sql con pdo, hice algo asin: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original ...
  #1 (permalink)  
Antiguo 22/12/2011, 13:55
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
obtener el numero de registros de una consulta pdo

Hola, como deberia hacer para recuperar el numero de registros de una consulta sql con pdo, hice algo asin:

Código PHP:
Ver original
  1. <?php
  2. $sql="select  count (*)  from clientes where email=?";
  3. $stmt=$db->prepare($sql);
  4. $stmt->execute(array($email));
  5. ?>

como muestro en pantalla el resultado de la consulta? saludos
  #2 (permalink)  
Antiguo 22/12/2011, 13:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: obtener el numero de registros de una consulta pdo

¿Ya revisaste la documentación oficial de PDO o todavía no?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/12/2011, 14:05
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
Respuesta: obtener el numero de registros de una consulta pdo

Vi algun metodo de la libreria como rowCount(), y algo mas habia, pero he visto por el foro que se recomienda hacer un query con un count en la consulta, porque los drivers para rowCount no funciona en todos los navegadores, el problema es que no se como hacer ese query, si me puedes ayudar, un saludo.
  #4 (permalink)  
Antiguo 22/12/2011, 14:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: obtener el numero de registros de una consulta pdo

¿Los drivers no funcionan en todos los navegadores?

¿Y desde cuando PHP se ejecuta en el navegador?

Creo que estas confundido, de verdad.

Y bueno, es cierto eso de que hacer COUNT(*) es mejor, pero del mismo modo que al hacer SELECT de cualquier otro dato: se extrae de la misma manera.

¿Exactamente que parte no entiendes?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 22/12/2011, 14:36
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
Respuesta: obtener el numero de registros de una consulta pdo

Hola pateKetrueKe, no se como mostrar el resultado en pantalla del numero de filas de la consulta, yo entendi hacer algo asin:
Código PHP:
Ver original
  1. <?php
  2.     $sql="select  count (*)  from clientes where email=?";
  3.     $stmt=$db->prepare($sql);
  4.     $filas=$stmt->execute(array($email));
  5.      echo $filas;
  6.     ?>

Asin no tendria que mostrarme el resultado de la consulta? espero que me corrijas, un saludo.
  #6 (permalink)  
Antiguo 22/12/2011, 14:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: obtener el numero de registros de una consulta pdo

No creo que se haga así, ¿ya has usado PDO antes?

Si no, por favor revisa la documentación oficial de PDO.

http://php.net/pdo
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 22/12/2011, 14:42
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
Respuesta: obtener el numero de registros de una consulta pdo

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Los drivers no funcionan en todos los navegadores?

¿Y desde cuando PHP se ejecuta en el navegador?

Creo que estas confundido, de verdad.

Y bueno, es cierto eso de que hacer COUNT(*) es mejor, pero del mismo modo que al hacer SELECT de cualquier otro dato: se extrae de la misma manera.

¿Exactamente que parte no entiendes?

Por cierto tenias razon, lo lei bien y me confundi (navegardor imposible, lenguaje del servidor)era que el select no funciona en todas las base de datos.
  #8 (permalink)  
Antiguo 22/12/2011, 14:51
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
Respuesta: obtener el numero de registros de una consulta pdo

pateketrueke, segun entendi en el manual, entendi algo asin.


Código PHP:
Ver original
  1. <?php
  2. $sql="select  count (*)  from clientes where email=?";
  3. $stmt=$db->prepare($sql);
  4. $stmt->execute(array($email));
  5. $filas=$stmt->columnCount();
  6.          echo $filas;
  7.        ?>

Me tendria que dar el numero de filas, pero siempre me da 0, que hice mal.
  #9 (permalink)  
Antiguo 22/12/2011, 14:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: obtener el numero de registros de una consulta pdo

No, te estas confundiendo, debes extraer el valor de la consulta generada y no el numero de columnas que no es igual.

Por favor, busca un ejemplo básico de como hacer fetch para extraer dicho valor.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 22/12/2011, 15:42
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
Respuesta: obtener el numero de registros de una consulta pdo

Bueno pateketrueke, ya lo consegui, hice algo asin:


Código PHP:
Ver original
  1. <?php
  2.     $sql="select  count (*)  from clientes where email=?";
  3.     $stmt=$db->prepare($sql);
  4.     $stmt->execute(array($email));
  5.     $filas=$stmt->fetchColumn();
  6.              echo $filas;
  7. ?>


Gracias por tu ayuda, saludos.

Etiquetas: numero, pdo, registro, registros, sql
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 12:36.