Получить последний выполненный запрос в MySQL с помощью PHP/CodeIgniter
Как я могу получить последний запрос, который я запускал в MySQL в Windows и Linux?
Я работаю с PHP и CodeIgniter. В my_model.php
у меня есть:
$query1 = ( ...something... );
$query2 = ( ...something... );
$variables = ( .... something .... );
$this->db->query(" $query1 ... $variables .. $query2", array( $variables, ... ));
Мне нужен последний запрос, выполненный сразу после фрагмента кода выше.
Может ли кто-нибудь сказать мне, как я могу получить свой последний запрос?
Ответы
Ответ 1
Использование:
$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....
пример, взятый из руководства по вспомогательные функции запроса
Ответ 2
Другие полезные функции, если вы отлаживаете,
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
Ответ 3
В CodeIgniter есть вспомогательная функция $this->db->last_query();
.
Это вернет строку последнего запроса.
Но я думаю, вы могли бы спросить, как получить результат, и в этом случае вы бы сделали:
$query1 = ( ...something... );
$query2 = ( ...something... );
$variables = ( .... something .... );
$query = $this->db->query(" $query1 ... $variables .. $query2", array( $variables, ... ));
foreach ($query->result() as $row) {
//code goes here
}
Для получения дополнительной информации просмотрите примеры CI.
Ответ 4
В config/database.php должен быть установлен конфигурационный массив: 'save_queries' = > TRUE, если он неверен, не работает функция last_query().