如何在Windows和Linux中运行我在MySQL中运行的最后一个查询?
我正在使用PHP和CodeIgniter。在my_model.php
,我有:
$query1 = ( ...something... );
$query2 = ( ...something... );
$variables = ( .... something .... );
$this->db->query(" $query1 ... $variables .. $query2", array( $variables, ... ));
我需要在上面的代码段之后执行最后一次查询。
任何人都可以告诉我如何获得我的上一次查询?
答案 0 :(得分:46)
使用:
$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....
上的手册
答案 1 :(得分: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
答案 2 :(得分:2)
在config / database.php中,必须设置config数组:'save_queries'=>是,如果为false则不使用last_query()函数。
答案 3 :(得分: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's examples。