【问题标题】:Getting compiled WHERE statement from Codeigniter db class从 Codeigniter db 类获取编译的 WHERE 语句
【发布时间】: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 语句。

【问题讨论】:

  • 以下有帮助吗? - echo $this->db->get_compiled_select();
  • 我已经知道 $this->db->get_compiled_select();但是这确实会产生 SELECT * 'statement here';我希望只得到不带 SELECT * 的语句,但我想我会去掉替换它。

标签: php codeigniter


【解决方案1】:

搞定了。

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

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

    return $string ? true : false;
}

【讨论】:

    猜你喜欢
    • 2013-04-14
    • 2018-06-15
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 2016-02-25
    相关资源
    最近更新 更多