此问题已在此处有答案:
$this->db->last_query() returns NULL in Codeigniter 4. How to get query SQL?(8个回答)
3天前关闭。
我得到这个
"db":{"DBDriver":"MySQLi","connID":{},"resultID":true,"protectIdentifiers":true,"escapeChar":"`","likeEscapeStr":" ESCAPE '%s' ","likeEscapeChar":"!","dataCache":[],"transEnabled":true,"transStrict":true,"deleteHack":true,"mysqli":{},"resultMode":0,"numberNative":false,"save_queries":true}}
在运行此
$this->db->table($table)->set($set)->where('id', $id)->update();
return $this->db->getLastQuery();
我希望它返回这个
"UPDATE `table` SET `f` = 'v' WHERE `id` = 'id'"
就像他们对更老的Codeigniter所做的那样
return $this->db->last_query();
1条答案
按热度按时间dxpyg8gm1#
从
$this->db->getLastQuery();
返回的是一个查询对象。从该对象获取最后一个查询的最简单方法是将其转换为string
:它的作用与:
返回查询对象而不是实际查询的好处在于,它扩展了您可以从中获得的可能性。真的很方便,尤其是调试。例如
在任何处理之前获取原始语句,
查找慢查询。
查询对象文档