笨:的确$这个 - > DB-> last_query(); 执行查询?(Codei

2019-08-21 23:21发布

是否查询执行发生在get_where()以下的笨活动记录语句的WHERE子句?

$this->db->select('*');
    $q = $this->db->get_where('Contacts', array('id' => $contact_id));

    $sql = $this->db->last_query();

或者它发生一次调用result_array()

而且是$this->db->last_query(); 在获得查询字符串的可靠方法。

Answer 1:

查询执行发生在所有获得类似的方法

$this->db->get('table_name');
$this->db->get_where('table_name',$array);

虽然last_query包含上次运行的查询

$this->db->last_query();

如果你想查询字符串不执行,你将不得不这样做。 进入系统/数据库/ DB_active_rec.php从这些功能中删除公共或受保护的关键字

public function _compile_select($select_override = FALSE)
public function _reset_select()

现在,您可以编写查询,并把它在一个变量

$this->db->select('trans_id');
$this->db->from('myTable');
$this->db->where('code','B');
$subQuery = $this->db->_compile_select();

现在,所以如果你想要写另一个查询的对象将被清除复位查询。

$this->db->_reset_select();

而事情做。 干杯!!! 注意:使用这种方式,您必须使用

$this->db->from('myTable')

代替

$this->db->get('myTable')

它运行查询。

看看这个例子



文章来源: Codeigniter: does $this->db->last_query(); execute a query?