Php 从Codeigniter db类编译WHERE语句
目前正在进行一个带有几个不同数据库功能的小项目。我正试图找到一种方法来获取编译后的Codeigniter WHERE语句Php 从Codeigniter db类编译WHERE语句,php,codeigniter,Php,Codeigniter,目前正在进行一个带有几个不同数据库功能的小项目。我正试图找到一种方法来获取编译后的Codeigniter WHERE语句 // Database GET function function dbGetRow($id, $field) { $this->db->select($field)->from('friends'); $query = $this->db->get(); return $query->row_array(); }
// 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语句。实现了这一点
唯一的解决方案是使用$this->db->get_compiled_select()
下列方法有用吗?-<代码>echo$this->db->get_compiled_select()代码>我已经知道$this->db->get_compiled_select();但是,这确实会产生SELECT*‘这里的语句’;我希望只得到没有SELECT*的语句,但我想我会直接替换它。
private function hasInlineQuery()
{
$string = $this->db->get_compiled_select();
$string = str_ireplace('SELECT *', '', $string);
return $string ? true : false;
}