Php 调用未定义的方法CI_DB_mysql_driver::get_compiled_select()?
我有下面的sql活动记录查询,它给出了这个错误。我有内部选择查询,所以为什么我试图使用这个方法,我在谷歌上发现,但它给出的错误是,得到_遵守_选择没有定义。如何解决此错误,或者是否有其他更好的方法编写以下查询?谢谢Php 调用未定义的方法CI_DB_mysql_driver::get_compiled_select()?,php,sql,codeigniter,activerecord,Php,Sql,Codeigniter,Activerecord,我有下面的sql活动记录查询,它给出了这个错误。我有内部选择查询,所以为什么我试图使用这个方法,我在谷歌上发现,但它给出的错误是,得到_遵守_选择没有定义。如何解决此错误,或者是否有其他更好的方法编写以下查询?谢谢 $this->db->select('id_dem'); $this->db->from('dem_demos'); $this->db->where('id_dem IN (".implode("," ,$id_v
$this->db->select('id_dem');
$this->db->from('dem_demos');
$this->db->where('id_dem IN (".implode("," ,$id_v).") OR maindemo_dem IN (".implode(",",$id_v).")');
$innermost_query = $this->db->get_compiled_select();
$this->db->select('COUNT(demo_vis) as tot_visits');
$this->db->from('sta_views');
$this->db->where('countvisit_wis != "N" AND demo_vis IN $innermost_query AND date_vis BETWEEN
".$date_s." AND ".$date_e."');
$first_query = $this->db->get_compiled_select();
$this->db->select('COUNT(demo_vis) as tot_visits');
$this->db->from('sta_views');
$this->db->where('countvisit_wis != "N"
AND demo_vis IN $innermost_query AND date_vis BETWEEN ".$date_s." AND ".$date_e." AND
invited_vis = 0');
$second_query = $this->db->get_compiled_select();
$this->db->select('COUNT(demo_vis) as tot_visits');
$this->db->from('sta_views');
$this->db->where('countvisit_wis != "N"
AND demo_vis IN $innermost_query AND date_vis BETWEEN ".$date_s." AND ".$date_e." AND
invited_vis > 0');
$third_query = $this->db->get_compiled_select();
$this->db->select('COUNT(conversion_vis)');
$this->db->from('sta_views');
$this->db->where('countvisit_wis != "N"
AND demo_vis IN $innermost_query AND date_vis BETWEEN ".$date_s." AND ".$date_e." AND
invited_vis = 0 AND conversion_vis = 1');
$fourth_query = $this->db->get_compiled_select();
$this->db->select('COUNT(buy_vis)');
$this->db->from('sta_views');
$this->db->where('countvisit_wis != "N"
AND demo_vis IN $innermost_query AND date_vis BETWEEN ".$date_s." AND ".$date_e." AND
buy_vis = 1');
$fifth_query = $this->db->get_compiled_select();
$this->db->select('COUNT(distinct session_vis) as unique_visits');
$this->db->from('sta_views');
$this->db->where('countvisit_wis != "N"
AND demo_vis IN $innermost_query AND date_vis BETWEEN ".$date_s." AND ".$date_e."');
$sixth_query = $this->db->get_compiled_select();
$query = $this->db->select('$first_query as total_views, $second_query as website_views, $third_query as demosent_views,
$fourth_query as website_conversions, $fifth_query as buy_now_clicks, $$sixth_query as unique_views');
if ($query->num_rows() > 0){
return $query->row_array();
}else{
return FALSE;
}
设置数据库配置文件<代码>$active_record=TRUE和trypost也会显示错误消息更改此
$autoload['libraries']=array('database')
在auotoad.php
中,我通过在system/database/DB\u driver.php文件中添加get\u compiled\u select()函数解决了这个问题。它以前不存在,这就是它给出未定义错误的原因。如果要将SQL添加到select行,则需要添加一个类似以下的假参数:$this->db->select(“count(..)…),FALSE)
。我还看到了:$$sixth\u query
,这是打字错误吗?