解决CI在生成SQL语句时前缀不统一的问题.
其实这个问题一直都存在,包括最新的1.6.3,具体的诊状为:
比如
$this->db->select(‘*’);
$this->db->from(‘archives’);
$this->db->where(‘typeid’, $tid);
$this->db->where(‘iscommend’, 10);
$this->db->where(‘litpic <> ‘, ”);
有这么一段代码,如果你在配置文件里设定有表前缀的话,这时候你可不要指望它能正确执行,在
$this->db->where(‘litpic <> ‘, ”);
这一句的时候它是不会增加正确的表前缀的,解决的办法嘛也很简单,就是用别名.
像这样
$this->db->select(‘arch.*’);
$this->db->from(‘archives AS arch’);
$this->db->where(‘arch.typeid’, $tid);
$this->db->where(‘arch.iscommend’, 10);
$this->db->where(‘arch.litpic <> ‘, ”);
这样子就不会有问题了,不信大家可以试试看.