Comment obtenir la dernière requête que j'ai exécutée dans MySQL sous Windows et Linux?
Je travaille avec PHP et CodeIgniter. Dans my_model.php
, J'ai:
$query1 = ( ...something... );
$query2 = ( ...something... );
$variables = ( .... something .... );
$this->db->query(" $query1 ... $variables .. $query2", array( $variables, ... ));
J'ai besoin que la dernière requête soit exécutée juste après l'extrait de code ci-dessus.
Quelqu'un peut-il me dire comment obtenir ma dernière requête?
Utilisation:
$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....
exemple tiré du manuel sur fonctions d'aide à la requête
Dans le fichier config/database.php, le tableau de configuration doit être défini: 'save_queries' => TRUE, s'il est faux, la fonction last_query () ne fonctionne pas.
Dans CodeIgniter, il existe une fonction d'assistance $this->db->last_query();
.
Cela renverra la chaîne de la dernière requête.
Mais je pense que vous vous demandez peut-être comment obtenir le résultat, auquel cas vous feriez:
$query1 = ( ...something... );
$query2 = ( ...something... );
$variables = ( .... something .... );
$query = $this->db->query(" $query1 ... $variables .. $query2", array( $variables, ... ));
foreach ($query->result() as $row) {
//code goes here
}
Pour plus d'informations, jetez un œil à exemples de CI .