Ver Mensaje Individual
  #12 (permalink)  
Antiguo 10/05/2010, 15:00
Avatar de neodani
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?