首页 > 解决方案 > 从 Codeigniter db 类获取编译的 WHERE 语句

问题描述

目前正在从事一个具有几个不同数据库功能的小项目。我试图找出一种方法来获取编译的 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 语句。

标签: phpcodeigniter

解决方案


得到这个工作。

唯一的解决方案是使用 $this->db->get_compiled_select();

private function hasInlineQuery()
{
    $string = $this->db->get_compiled_select();
    $string = str_ireplace('SELECT *', '', $string);

    return $string ? true : false;
}

推荐阅读