Подтвердить что ты не робот

Получить последний выполненный запрос в 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, ... ));

Мне нужен последний запрос, выполненный сразу после фрагмента кода выше.

Может ли кто-нибудь сказать мне, как я могу получить свой последний запрос?

4b9b3361

Ответ 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().