insert_id - Obtenga la última consulta ejecutada en MySQL con PHP/CodeIgniter
this-> db-> insert_id() (4)
¿Cómo puedo obtener la última consulta que ejecuté en MySQL tanto en Windows como en Linux?
Estoy trabajando con PHP y CodeIgniter. En my_model.php
, tengo:
$query1 = ( ...something... );
$query2 = ( ...something... );
$variables = ( .... something .... );
$this->db->query(" $query1 ... $variables .. $query2", array( $variables, ... ));
Necesito que la última consulta se ejecute justo después del fragmento de código anterior.
¿Alguien puede decirme cómo puedo obtener mi última consulta?
En CodeIgniter hay una función auxiliar $this->db->last_query();
.
Esto devolverá la cadena de la última consulta.
Pero creo que podrías estar preguntando cómo obtener el resultado, en cuyo caso harías:
$query1 = ( ...something... );
$query2 = ( ...something... );
$variables = ( .... something .... );
$query = $this->db->query(" $query1 ... $variables .. $query2", array( $variables, ... ));
foreach ($query->result() as $row) {
//code goes here
}
Para más información, eche un vistazo a los ejemplos de un CI .
En config / database.php, la matriz de configuración debe configurarse: ''save_queries'' => TRUE, si es falso, no está funcionando la función last_query ().
Otras funciones útiles si estás depurando son
mysql_errno(); // Returns the error number of the last MySQL operation 3
mysql_error(); // Returns the error description of the last MySQL operation
mysql_info(); // Returns information about the last query
Utilizar:
$this->db->last_query();
Returns the last query that was run (the query string, not the result). Example:
$str = $this->db->last_query();
// Produces: SELECT * FROM sometable....
Ejemplo tomado del manual sobre funciones de ayuda de consultas.