使用 PHP/CodeIgniter 获取 MySQL 中上次执行的查询

2022-08-30 16:55:52

如何获取我在Windows和Linux的MySQL中运行的最后一个查询?

我正在使用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

在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 的示例


推荐