Rápido y sucio para envoltorio MySQLi registro de consultas

  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Registrado: Feb 10, 2004
  • Mensajes: 13455
  • Loc: Florida
  • Status: Offline

Nota Octubre 20th, 2009, 4:18 am

Yo quería una lista de peticiones ejecutadas durante la construcción de la página, pero no desea activar la consulta general de registro para el servidor MySQL.

La aplicación utiliza el objeto de estilo de la extensión de PHP MySQLi por lo que esta "bolt-on" contenedor para las obras de clase MySQLi y todo lo que tiene que hacer es,
pega el código antes de mi "$ db = new mysqli (...) "En línea,
anteponer un subrayado a ese llamado,
agregar un "print_r ($ db-> consulta)" al final de la secuencia de comandos,
y Ive got a "suficientemente bueno" registrador de consulta sin necesidad de manchar mi código de PP reales.

PHP Código: [ Select ]
<?php
 
class _mysqli
{
   private $db;
   public $queries;
 
   public function __construct($host, $username, $password, $database, $port, $socket)
   {
      $this->db = new mysqli($host, $username, $password, $database, $port, $socket);
      $this->queries = array();
   }
   public function __call($func, $args)
   {
      return call_user_func_array(array($this->db, $func), $args);
   }
   public function __get($key)
   {
      return $this->db->$key;
   }
   public function query($sql, $mode = MYSQLI_STORE_RESULT)
   {
      $this->queries[] = $sql;
      return $this->db->query($sql, $mode);
   }
   public function prepare($sql)
   {
      $this->queries[] = $sql;
      return $this->db->prepare($sql);
   }
}
  1. <?php
  2.  
  3. class _mysqli
  4. {
  5.    private $db;
  6.    public $queries;
  7.  
  8.    public function __construct($host, $username, $password, $database, $port, $socket)
  9.    {
  10.       $this->db = new mysqli($host, $username, $password, $database, $port, $socket);
  11.       $this->queries = array();
  12.    }
  13.    public function __call($func, $args)
  14.    {
  15.       return call_user_func_array(array($this->db, $func), $args);
  16.    }
  17.    public function __get($key)
  18.    {
  19.       return $this->db->$key;
  20.    }
  21.    public function query($sql, $mode = MYSQLI_STORE_RESULT)
  22.    {
  23.       $this->queries[] = $sql;
  24.       return $this->db->query($sql, $mode);
  25.    }
  26.    public function prepare($sql)
  27.    {
  28.       $this->queries[] = $sql;
  29.       return $this->db->prepare($sql);
  30.    }
  31. }
Strong with this one, the sudo is.
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Octubre 20th, 2009, 4:18 am

  • PolishHurricane
  • Mastermind
  • Mastermind
  • Avatar de Usuario
  • Registrado: Feb 17, 2005
  • Mensajes: 1585
  • Status: Offline

Nota Octubre 20th, 2009, 9:44 am

Sí me gusta PHP 5, que te envié algo en su caja de los PM. Debo arreglar un poco aunque supongo.
There's no place like 127.0.0.1, badass part is now it's ::1
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Registrado: Feb 10, 2004
  • Mensajes: 13455
  • Loc: Florida
  • Status: Offline

Nota Octubre 20th, 2009, 9:57 am

Gracias por eso.

Yo no sé por qué se extiende la clase mysqli no darme cuenta. Creo que Ive consiguió la mentalidad de que el built-in y la extensión prevista cosas no es alterable en PHP, que soy confuso con un prorrogable. :scratchhead:

La enfermedad probablemente ebullición de todo a una extensión con la consulta sólo con el / los métodos de preparar la próxima vez que lo necesito. :D
Strong with this one, the sudo is.
  • PolishHurricane
  • Mastermind
  • Mastermind
  • Avatar de Usuario
  • Registrado: Feb 17, 2005
  • Mensajes: 1585
  • Status: Offline

Nota Octubre 20th, 2009, 1:23 pm

Sí. Supongo que sólo lo hizo y funcionó. Nunca pensé que no podría suceder, creo que acabo de ver algunos ejemplos o leer sobre ella en alguna parte. Thats whats fresco cuando te metes en cosas más Programación Orientada a Objetos en PHP5, que le permiten meterse con cosas que ya tienen. Me gustaría poder solucionar este estúpido controlador de errores aunque.
There's no place like 127.0.0.1, badass part is now it's ::1

Publicar Información

  • Total de mensajes en este tema: 4 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 139 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC