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
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);
}
}
- <?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);
- }
- }
Strong with this one, the sudo is.