Foros del Web » Programando para Internet » PHP »

Obtener total de filas - Prepared Statement

Estas en el tema de Obtener total de filas - Prepared Statement en el foro de PHP en Foros del Web. Veran, quiero obtener el total de filas usando sentencias preparadas pero no logro obtener mas que 0 o 1 He intentado de dos maneras, pero ...
  #1 (permalink)  
Antiguo 23/03/2017, 11:03
 
Fecha de Ingreso: agosto-2015
Ubicación: Rosario - Argentina
Mensajes: 424
Antigüedad: 8 años, 8 meses
Puntos: 12
Sonrisa Obtener total de filas - Prepared Statement

Veran, quiero obtener el total de filas usando sentencias preparadas pero no logro obtener mas que 0 o 1

He intentado de dos maneras, pero ninguna de las dos funcionan...

Esta forma de hacerlo me devuelve siempre 0:
Código PHP:
$serverConexion -> select_db($databaseA)or die($databaseError);
        
$sql "SELECT COUNT(*) FROM table1";
        
$prepare $serverConexion -> prepare($sql);
        
$prepare -> execute();
        
$prepare -> fetch();
        
$TotalRows $prepare -> num_rows;
        
$prepare -> close(); 
Esta otra me devuelve siempre 1:
Código PHP:
$serverConexion -> select_db($databaseA)or die($databaseError);
        
$sql "SELECT COUNT(*) FROM table1";
        
$prepare $serverConexion -> prepare($sql);
        
$prepare -> execute();
        
$prepare -> store_result();
        
$TotalRows $prepare -> num_rows;
        
$prepare -> close(); 
Espero que me puedan ayudar, gracias de antemano!
  #2 (permalink)  
Antiguo 23/03/2017, 14:51
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Obtener total de filas - Prepared Statement

Que tal algo así:

Código PHP:
$serverConexion -> select_db($databaseA)or die($databaseError);
$sql "SELECT COUNT(*) total FROM tabla";
$prepare $serverConexion -> prepare($sql);
$prepare -> execute();
$resultado $prepare->get_result();
$fila $resultado->fetch_assoc();
$TotalRows $fila['total'];
$prepare -> close(); 
__________________
Unset($vida['malRollo']);
  #3 (permalink)  
Antiguo 24/03/2017, 07:20
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Obtener total de filas - Prepared Statement

prueba asi
Código PHP:
Ver original
  1. $serverConexion -> select_db($databaseA)or die($databaseError);
  2.         $sql = "SELECT * FROM table1";
  3.         $prepare = $serverConexion -> prepare($sql);
  4.         $prepare -> execute();
  5.         $prepare -> store_result();
  6.         $TotalRows = $prepare -> num_rows;
  7.         $prepare -> close();
__________________
http://www.roglastudios.es
  #4 (permalink)  
Antiguo 24/03/2017, 08:25
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Obtener total de filas - Prepared Statement

Es verdad que eso es válido pero, ¿para qué traer todas las filas de la base de datos si no las vas a utilizar? ¿No es mejor traer solo el resultado y que la base de datos se encargue del resto?
__________________
Unset($vida['malRollo']);
  #5 (permalink)  
Antiguo 24/03/2017, 08:51
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Obtener total de filas - Prepared Statement

si, entonces te dire.
La consulta que haces te muestra una sola linea, debido que al usar count el resultado devuelto es el numero de lineas, con lo que tienes que mostrar el resultado de la consulta, sin contar de nuevo los resultados.
dicho de otro modo, lo que estas haciendo es decirle a mysql, cuantos resultados tiene esta tabla, y sobre esa consulta le estas preguntando mediante php cuantos resultados tiene el conteo de las filas
__________________
http://www.roglastudios.es
  #6 (permalink)  
Antiguo 05/04/2017, 19:26
 
Fecha de Ingreso: agosto-2015
Ubicación: Rosario - Argentina
Mensajes: 424
Antigüedad: 8 años, 8 meses
Puntos: 12
Respuesta: Obtener total de filas - Prepared Statement

Gracias a todos por responder.

Lamento tardar tanto en responder, me habia olvidado ya que a los 10 min lo habia solucionado mirando bien la API de PHP.

Gracias nuevamente por su interes y respuestas

Etiquetas: poo, sentencias
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 20:13.