Получить последний выполненный запрос в MySQL с помощью PHP / CodeIgniter

20

Как я могу получить последний запрос, который я запускал в MySQL в Windows и Linux?

Я работаю с PHP и CodeIgniter. В my_model.php у меня есть:

$query1 = ( ...something... );
$query2 = ( ...something... );
$variables = ( .... something .... );
$this->db->query(" $query1 ... $variables .. $query2", array( $variables, ... ));

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

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

    
задан soredive 30.06.2011 в 16:33
источник
  • Насколько я знаю, нет общей функции «получить последний запрос». Для чего тебе это? –  Pekka 웃 30.06.2011 в 16:37
  • @Pekka, CodeIgniter имеет этот встроенный :-) –  Rocket Hazmat 30.06.2011 в 16:40
  • @Rocket ах, справедливо. –  Pekka 웃 30.06.2011 в 16:40

4 ответа

40

Использование:

$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.... 
Пример

, взятый из руководства по вспомогательным функциям запроса

    
ответ дан Damien Pirsy 30.06.2011 в 16:39
источник
4

Другие полезные функции, если вы отлаживаете,

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
    
ответ дан The Silencer 30.06.2011 в 16:42
источник
1

В 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 .

    
ответ дан tplaner 30.06.2011 в 16:42
источник
1

В config / database.php должен быть установлен массив конфигурации: 'save_queries' = & gt; TRUE, если он неверен, не работает функция last_query ().

    
ответ дан progman 25.10.2016 в 09:56
источник