从 Codeigniter db 类获取编译的 WHERE 语句
Posted
技术标签:
【中文标题】从 Codeigniter db 类获取编译的 WHERE 语句【英文标题】:Getting compiled WHERE statement from Codeigniter db class 【发布时间】:2018-12-24 09:24:32 【问题描述】:目前正在从事一个具有几个不同数据库功能的小项目。我试图找出一种方法来获取编译的 Codeigniter WHERE 语句。
// Database GET function
function dbGetRow($id, $field)
$this->db->select($field)->from('friends');
$query = $this->db->get();
return $query->row_array();
// Calling the function
$this->db->where('id', 2);
$value = parent::dbGetRow(null 'id');
我想弄清楚的是如何在执行查询之前在 dbGetRow() 函数中获取已编译的 WHERE 语句。
【问题讨论】:
***.com/questions/6142099/… 以下有帮助吗? -echo $this->db->get_compiled_select();
我已经知道 $this->db->get_compiled_select();但是这确实会产生 SELECT * 'statement here';我希望只得到不带 SELECT * 的语句,但我想我会去掉替换它。
【参考方案1】:
搞定了。
唯一的解决方案是使用 $this->db->get_compiled_select();
private function hasInlineQuery()
$string = $this->db->get_compiled_select();
$string = str_ireplace('SELECT *', '', $string);
return $string ? true : false;
【讨论】:
以上是关于从 Codeigniter db 类获取编译的 WHERE 语句的主要内容,如果未能解决你的问题,请参考以下文章