Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Numero de consultas realizas script con PDO

Estas en el tema de Numero de consultas realizas script con PDO en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas, En muchas páginas o foros aparece al final de la página algo así Página generada en 1.76 segundos con 13 consultas. El tiempo se ...
  #1 (permalink)  
Antiguo 09/05/2010, 04:25
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Numero de consultas realizas script con PDO

Buenas,

En muchas páginas o foros aparece al final de la página algo así

Página generada en 1.76 segundos con 13 consultas.

El tiempo se calcularlo, pero mi duda es si esas 13 consultas se refiere a 13 consultas diferentes o a una consulta que ha afectado a 13 filas? uhm... no se si me explico... Conozco la forma de saber cuantas columnas fueron afectadas tras una consulta:

$consulta->rowCount();

Pero me pregunto si hay alguna forma también para saber el total de consultas (no filas afectadas por cada consulta) que hizo el script hasta que acabó de mostrar la página.

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 09/05/2010, 06:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Numero de consultas realizas script con PDO

Eso es 13 filas que se han encontrado. Si te fijas cuando cuentas te da el resultado que te indica arriba.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 09/05/2010, 07:04
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Numero de consultas realizas script con PDO

Cita:
Iniciado por abimaelrc Ver Mensaje
Eso es 13 filas que se han encontrado. Si te fijas cuando cuentas te da el resultado que te indica arriba.
Son filas? no son consultas diferentes...

insert...
select...
update...
select...
select...

:S

No me cuadra porque si fueran filas siempre devolvería lo mismo si recargo la página, y sin haber escrito nada me devuelve otro numero de consultas, lo mismo si lo repito X veces, nunca hay dos veces que recargue y me de el mismo numero de consultas (estoy utilizando el ejemplo de un foro SMF que tengo instalado en local)

Saludos
  #4 (permalink)  
Antiguo 09/05/2010, 11:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Numero de consultas realizas script con PDO

13 consultas se refiere a 13 consultas a la base de datos, si no diria 13 resultados o similar.

Saludos.
  #5 (permalink)  
Antiguo 09/05/2010, 16:39
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Numero de consultas realizas script con PDO

Cita:
Iniciado por GatorV Ver Mensaje
13 consultas se refiere a 13 consultas a la base de datos, si no diria 13 resultados o similar.

Saludos.
Alguna manera rápida de saber entonces cuantas consultas se hicieron con PDO? o tengo que poner un contador debajo de cada $consulta->execute() ?

Gracias nuevamente
  #6 (permalink)  
Antiguo 09/05/2010, 16:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Numero de consultas realizas script con PDO

Vas a tener que crear tu propio conteo, porque lo unico que existe es verificar filas afectadas y tu lo que quieres es verificar entonces las consultas que se ejecutaron.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 09/05/2010, 17:51
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
Respuesta: Numero de consultas realizas script con PDO

Si el método execute es el que ejecuta la consulta, siomplemente agrégale una variable estática, la irá aumentando cada vez que llames al método. Luego lo imprimes.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #8 (permalink)  
Antiguo 10/05/2010, 08:01
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Numero de consultas realizas script con PDO

Cita:
Iniciado por spider_boy Ver Mensaje
Si el método execute es el que ejecuta la consulta, siomplemente agrégale una variable estática, la irá aumentando cada vez que llames al método. Luego lo imprimes.
Grande spider_boy, bien pensado... el problema es que la clase PDO es nativa de PHP y no tengo ningún fichero donde modificar ese método... ¿cómo lo hago entonces?

Muchas gracias de antemano!
  #9 (permalink)  
Antiguo 10/05/2010, 08:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Numero de consultas realizas script con PDO

Extiende la clase
  #10 (permalink)  
Antiguo 10/05/2010, 12:09
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Numero de consultas realizas script con PDO

Cita:
Iniciado por GatorV Ver Mensaje
Extiende la clase
Si, eso me lo imagino que se hace extendiendo la clase, pero no tengo ni idea de como extender una clase que no "veo".... intuyo que empezaría algo así no?


Código PHP:
Ver original
  1. class contar_consultas extends PDO{
  2.     var $num_consultas;
  3.  
  4.     function contar_consulta()
  5.     {
  6.        
  7.     }
  8. }

Gracias de antemano!
  #11 (permalink)  
Antiguo 10/05/2010, 13:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Numero de consultas realizas script con PDO

Algo así, pero tendrías que sobreescribir el método que quieras, por ejemplo:
Código PHP:
Ver original
  1. <?php
  2. class CountPDO extends PDO
  3. {
  4.     private $_queryCount = 0;
  5.    
  6.     public function query()
  7.     {
  8.         $this->_increaseQueryCount();
  9.         $args = func_get_args();
  10.         switch(func_num_args()) {
  11.             case 1:
  12.                 return parent::query($args[0]);
  13.                 break;
  14.             case 2:
  15.                 throw new Exception('Invalid number of arguments');
  16.                 break;
  17.             case 3:
  18.                 return parent::query($args[0], $args[1], $args[2]);
  19.                 break;
  20.             case 4:
  21.                 return parent::query($args[0], $args[1], $args[2], $args[3]);
  22.                 break;
  23.         }
  24.     }
  25.    
  26.     public function prepare($statement, $driver_options = array())
  27.     {
  28.         $this->_increaseQueryCount();
  29.        
  30.         return parent::prepare($statement, $driver_options);
  31.     }
  32.    
  33.     private function _increaseQueryCount()
  34.     {
  35.         $this->_queryCount++;
  36.     }
  37.    
  38.     public function getQueryCount()
  39.     {
  40.         return $this->_queryCount;
  41.     }
  42. }

Saludos.
  #12 (permalink)  
Antiguo 10/05/2010, 15:00
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Numero de consultas realizas script con PDO

Cita:
Iniciado por GatorV Ver Mensaje
Algo así, pero tendrías que sobreescribir el método que quieras, por ejemplo:
Código PHP:
Ver original
  1. <?php
  2. class CountPDO extends PDO
  3. {
  4.     private $_queryCount = 0;
  5.    
  6.     public function query()
  7.     {
  8.         $this->_increaseQueryCount();
  9.         $args = func_get_args();
  10.         switch(func_num_args()) {
  11.             case 1:
  12.                 return parent::query($args[0]);
  13.                 break;
  14.             case 2:
  15.                 throw new Exception('Invalid number of arguments');
  16.                 break;
  17.             case 3:
  18.                 return parent::query($args[0], $args[1], $args[2]);
  19.                 break;
  20.             case 4:
  21.                 return parent::query($args[0], $args[1], $args[2], $args[3]);
  22.                 break;
  23.         }
  24.     }
  25.    
  26.     public function prepare($statement, $driver_options = array())
  27.     {
  28.         $this->_increaseQueryCount();
  29.        
  30.         return parent::prepare($statement, $driver_options);
  31.     }
  32.    
  33.     private function _increaseQueryCount()
  34.     {
  35.         $this->_queryCount++;
  36.     }
  37.    
  38.     public function getQueryCount()
  39.     {
  40.         return $this->_queryCount;
  41.     }
  42. }

Saludos.
Muchas gracias GatorV, creo que la estoy llamando de forma incorrecta. Puedes indicarme?

En mi script llamo a esta clase que has puesto de esta forma

Código PHP:
Ver original
  1. include('contar_consultas.class.php');
  2. $QueryCount = new CountPDO();
  3.  
  4. .... se ejecutan las consultas
  5.  
  6. // Cierro la conexion
  7. $db = null;
  8. echo $QueryCount->getQueryCount();

Errores que produce

Warning: PDO::__construct() expects at least 1 parameter, 0 given in C:\AppServ\www\00-laboratorio_test\secciones\GET_BET\SIMPLEXML.php on line 3

Fatal error: Call to a member function getQueryCount() on a non-object in C:\AppServ\www\00-laboratorio_test\secciones\GET_BET\V2_SIMPLEXML.ph p on line 132



También lo probé así

Código PHP:
Ver original
  1. include('contar_consultas.class.php');
  2.  
  3. .... se ejecutan las consultas
  4.  
  5. echo $db->getQueryCount();
  6. // Cierro la conexion
  7. $db = null;

Errores que produce

Fatal error: Call to undefined method PDO::getQueryCount() in C:\AppServ\www\00-laboratorio_test\secciones\GET_BET\obtener_cuotas_ V2_SIMPLEXML.php on line 130

Qué estoy haciendo mal?
  #13 (permalink)  
Antiguo 10/05/2010, 15:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Numero de consultas realizas script con PDO

La idea es que uses CountPDO en lugar de la clase PDO, por eso la estas extendiendo, te recomiendo leas un poco sobre lo que es la herencia en la POO.

Saludos.
  #14 (permalink)  
Antiguo 10/05/2010, 15:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Numero de consultas realizas script con PDO

@GatorV, ¿por qué indicas que si se envia solo 2 argumentos es un error? Estuve viendo ejemplos en internet y se puede usar con solo dos argumentos, como por ejemplo
Código PHP:
Ver original
  1. <?php
  2. $row = $db->query('SELECT symbol,planet FROM zodiac',PDO::FETCH_BOUND);
  3. // Put the value of the 'symbol' column in $symbol
  4. $row->bindColumn('symbol', $symbol);
  5. // Put the value of the second column ('planet') in $planet
  6. $row->bindColumn(2, $planet);
  7. while ($row->fetch()) {
  8.     print "$symbol goes with $planet. <br/>\n";
  9. }
Solo por curiosidad.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #15 (permalink)  
Antiguo 10/05/2010, 16:12
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Numero de consultas realizas script con PDO

Cita:
Iniciado por GatorV Ver Mensaje
La idea es que uses CountPDO en lugar de la clase PDO, por eso la estas extendiendo, te recomiendo leas un poco sobre lo que es la herencia en la POO.

Saludos.
Ufff creo que no he captado la idea, pensaba que al hacer un extends a una clase, podías readaptar el método del $consulta->execute() y añadirle una variable que sumase las veces que se ejecutaba, tal y como decía spider_boy

"Si el método execute es el que ejecuta la consulta, siomplemente agrégale una variable estática, la irá aumentando cada vez que llames al método. Luego lo imprime"

Si resulta que al hacer el extends tengo que dejar de utilizar por completo PDO, y no solo eso, sino que hay que crear por completo la clase con la variación en particular del método execute(), entonces es más lioso y tedioso!

No me cuadra :S
  #16 (permalink)  
Antiguo 10/05/2010, 16:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Numero de consultas realizas script con PDO

Pero si lo único que hizo fue añadir algunos datos adicionales al método de query() para que así pueda hacerlo de forma automática el conteo de las consultas. Si te fijas como quiera hace uso del método query de PDO con parent::query.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #17 (permalink)  
Antiguo 10/05/2010, 16:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Numero de consultas realizas script con PDO

Cita:
Iniciado por abimaelrc Ver Mensaje
@GatorV, ¿por qué indicas que si se envia solo 2 argumentos es un error? Estuve viendo ejemplos en internet y se puede usar con solo dos argumentos, como por ejemplo
Código PHP:
Ver original
  1. <?php
  2. $row = $db->query('SELECT symbol,planet FROM zodiac',PDO::FETCH_BOUND);
  3. // Put the value of the 'symbol' column in $symbol
  4. $row->bindColumn('symbol', $symbol);
  5. // Put the value of the second column ('planet') in $planet
  6. $row->bindColumn(2, $planet);
  7. while ($row->fetch()) {
  8.     print "$symbol goes with $planet. <br/>\n";
  9. }
Solo por curiosidad.
La razón es porque en la firma de PDO viene esto (para query):
Cita:
PDOStatement PDO::query ( string $statement )
PDOStatement PDO::query ( string $statement , int $PDO::FETCH_COLUMN , int $colno )
PDOStatement PDO::query ( string $statement , int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
PDOStatement PDO::query ( string $statement , int $PDO::FETCH_INTO , object $object )
No hay una versión con 2 parámetros, creo te estas confundiendo con fetch()
  #18 (permalink)  
Antiguo 10/05/2010, 16:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Numero de consultas realizas script con PDO

Cita:
Iniciado por neodani Ver Mensaje
Ufff creo que no he captado la idea, pensaba que al hacer un extends a una clase, podías readaptar el método del $consulta->execute() y añadirle una variable que sumase las veces que se ejecutaba, tal y como decía spider_boy

"Si el método execute es el que ejecuta la consulta, siomplemente agrégale una variable estática, la irá aumentando cada vez que llames al método. Luego lo imprime"

Si resulta que al hacer el extends tengo que dejar de utilizar por completo PDO, y no solo eso, sino que hay que crear por completo la clase con la variación en particular del método execute(), entonces es más lioso y tedioso!

No me cuadra :S
Pero para eso es extends, o sea no estamos re-haciendo nada, estamos extendiendo lo necesario para adaptarlo, todo lo demás funciona igual, por eso mi comentario a que leas sobre lo que es el concepto de heredar en POO.

Saludos.
  #19 (permalink)  
Antiguo 10/05/2010, 16:51
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Numero de consultas realizas script con PDO

Cita:
Iniciado por GatorV Ver Mensaje
La razón es porque en la firma de PDO viene esto (para query):


No hay una versión con 2 parámetros, creo te estas confundiendo con fetch()
Es verdad que en el manual viene explicado con solo esos tres ejemplos, pero buscando así por internet otros ejemplos encontré que sí se puede enviar con solo dos argumentos
Código PHP:
Ver original
  1. <?php
  2. $row = $db->query('SELECT symbol,planet FROM zodiac',PDO::FETCH_BOUND);
Así como te expuse en el ejemplo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #20 (permalink)  
Antiguo 10/05/2010, 23:28
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Numero de consultas realizas script con PDO

Muchas gracias,

Acabé entendiéndolo jejeje, cuando extiendes una clase dejas de llamarla como lo estabas haciendo y tienes que hacer las llamadas con la clase extendida. Allá donde ponia PDO, tienes que poner CountPDO.

Código PHP:
Ver original
  1. $db = new CountPDO('mysql:dbname='.$bd.';host='.$servidor.'', $user, $pass);
  2. $db->setAttribute(CountPDO::ATTR_ERRMODE, CountPDO::ERRMODE_EXCEPTION);
  3.  
  4. $query = sprintf("SELECT valor FROM tabla");
  5.    
  6. // Preparamos un Query
  7. $comando = $db->prepare($query);
  8.    
  9. // ejecutamos la consulta
  10. $comando->execute();
  11.  
  12. echo $db->getQueryCount();
  13.  
  14. $db = null;

Muchas gracias por la clase extendida
  #21 (permalink)  
Antiguo 10/05/2010, 23:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Numero de consultas realizas script con PDO

Cita:
Iniciado por abimaelrc Ver Mensaje
Es verdad que en el manual viene explicado con solo esos tres ejemplos, pero buscando así por internet otros ejemplos encontré que sí se puede enviar con solo dos argumentos
Código PHP:
Ver original
  1. <?php
  2. $row = $db->query('SELECT symbol,planet FROM zodiac',PDO::FETCH_BOUND);
Así como te expuse en el ejemplo.
En ese caso podríamos simplificar la clase así:
Código PHP:
Ver original
  1. <?php
  2. class CountPDO extends PDO
  3. {
  4.     private $_queryCount = 0;
  5.    
  6.     public function query()
  7.     {
  8.         $this->_increaseQueryCount();
  9.         $args = func_get_args();
  10.        
  11.         return call_user_func_array(array('parent', 'query'), $args);
  12.     }
  13.    
  14.     public function prepare($statement, $driver_options = array())
  15.     {
  16.         $this->_increaseQueryCount();
  17.         return parent::prepare($statement, $driver_options);
  18.     }
  19.    
  20.     private function _increaseQueryCount()
  21.     {
  22.         $this->_queryCount++;
  23.     }
  24.    
  25.     public function getQueryCount()
  26.     {
  27.         return $this->_queryCount;
  28.     }
  29. }

@neodani, que bueno que entendiste para que sirve heredar las clases.

Saludos.
  #22 (permalink)  
Antiguo 15/06/2010, 23:49
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Numero de consultas realizas script con PDO

Buenas,

Me gustaría saber como puedo resetear el número de consultas que lleva almacenada y resetearla a 0 cuando me haga falta durante la ejecución del script.

Me explico a continuación:
Parto de la clase extendida siguiente

Código PHP:
Ver original
  1. <?php
  2. /*
  3.     CLASE EXTENDIDA DE PDO para contar el número de consultas que se realizan
  4. */
  5. class CountPDO extends PDO
  6. {
  7.     private $_queryCount = 0;
  8.    
  9.     public function query()
  10.     {
  11.         $this->_increaseQueryCount();
  12.         $args = func_get_args();
  13.        
  14.         return call_user_func_array(array('parent', 'query'), $args);
  15.     }
  16.    
  17.     public function prepare($statement, $driver_options = array())
  18.     {
  19.         $this->_increaseQueryCount();
  20.         return parent::prepare($statement, $driver_options);
  21.     }
  22.    
  23.     private function _increaseQueryCount()
  24.     {
  25.         $this->_queryCount++;
  26.     }
  27.    
  28.     public function getQueryCount()
  29.     {
  30.         return $this->_queryCount;
  31.     }
  32. }
  33. ?>

Tengo un script que realiza una conexión a la base de datos y luego procede a realizar mediante un bucle 10 acciones x ej. Para no tener que estar desconectando de la base de datos y volviendo a conectar para cada acción, me gustaría saber de una forma sencilla cuantas consultas se ejecutaron tras realizar cada acción.

Actualmente, lo que muestra es el acumulado
$db->getQueryCount();

Es decir, se realiza la acción uno, y se hacen 9 consultas, luego se ejecuta la acción 2 y se hacen 10 consultas, en lugar de aparecer que lleva 19 consultas, me gustaría poderle decir que tras cada acción del script volviese a empezar desde 0.

¿Cómo se podría hacer?

Porque analizando la clase, veo que la variable es privada y esto dificulta que se pueda hacer private $_queryCount = 0; no?

Muchas gracias de antemano!
  #23 (permalink)  
Antiguo 16/06/2010, 08:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Numero de consultas realizas script con PDO

Crea otro método que se llame resetCount() y dentro de ese método asigna la variable a 0, es concepto básico de POO, de verdad te recomiendo y te vas a ayudar mucho si en lugar de estar "probando" lees un buen libro que te explique todos estos conceptos.

Saludos.
  #24 (permalink)  
Antiguo 16/06/2010, 11:34
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Numero de consultas realizas script con PDO

Cita:
Iniciado por GatorV Ver Mensaje
Crea otro método que se llame resetCount() y dentro de ese método asigna la variable a 0, es concepto básico de POO, de verdad te recomiendo y te vas a ayudar mucho si en lugar de estar "probando" lees un buen libro que te explique todos estos conceptos.

Saludos.
Lo probé GatorV pero no me resetea la variable, cree el siguiente método

Código PHP:
Ver original
  1. public function ResetCount()
  2.     {
  3.         $_queryCount = 0;
  4.     }

y así

Código PHP:
Ver original
  1. public function ResetCount()
  2.     {
  3.         $_queryCount = 0;
  4.         return $this->_queryCount;
  5.     }

Al final del bucle tengo puesto puesto

Código PHP:
Ver original
  1. echo "Consultas SQL realizas: ".$db->getQueryCount(); //Cuenta el numero de consultas que se hicieron
  2. $db->ResetCount();
  3. echo $db->getQueryCount();

Pero en el segundo echo me debería decir 0 al haber reseteado el contador, sin embargo, me sale el mismo número de consultas :S

El procedimiento es correcto?

Muchas gracias
  #25 (permalink)  
Antiguo 16/06/2010, 11:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Numero de consultas realizas script con PDO

$_queryCount = 0; esta mal, tienes que referirte a la variable usando $this, es por eso que te pido que leas, son conceptos muy básicos en los que estas teniendo inconvenientes:
Código PHP:
Ver original
  1. public function resetCounter()
  2. {
  3.         $this->_queryCount = 0;
  4. }

No te digo que leas por ser pesado ni nada, pero si no afinas estos pequeños problemas básicos de conocimiento más tarde vas a tener muchos problemas más graves y más complicados por resolver.

Saludos.

Última edición por GatorV; 16/06/2010 a las 13:50
  #26 (permalink)  
Antiguo 16/06/2010, 12:47
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Numero de consultas realizas script con PDO

Cita:
Iniciado por GatorV Ver Mensaje
$_queryCount = 0; esta mal, tienes que referirte a la variable usando $this, es por eso que te pido que leas, son conceptos muy básicos en los que estas teniendo inconvenientes:
Código PHP:
Ver original
  1. public funcion resetCounter()
  2. {
  3.         $this->_queryCount = 0;
  4. }

No te digo que leas por ser pesado ni nada, pero si no afinas estos pequeños problemas básicos de conocimiento más tarde vas a tener muchos problemas más graves y más complicados por resolver.

Saludos.
Tienes razón!

He estado ojeando el de ZEND PHP 5 Certification STUDY GUIDE, me recomiendas algún libro?

Muchas gracias GatorV
  #27 (permalink)  
Antiguo 16/06/2010, 13:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Numero de consultas realizas script con PDO

Ese es uno muy bueno para aprender a digerir los conceptos.

Saludos.

Etiquetas: numero, pdo
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 11:19.