Mysql codeigniter不带换行符的左连接

Mysql codeigniter不带换行符的左连接,mysql,codeigniter,between,Mysql,Codeigniter,Between,我在Codeigniter中生成查询时遇到问题。问题是 $this->db->select('user.*') ->join('user_group', 'user.group_id BETWEEN user_group.start_range AND user_group.end_range', 'left'); 此代码生成以下查询: SELECT `user`.* FROM (`user`) LEFT JOIN `user_group` ON `user`.`gr

我在Codeigniter中生成查询时遇到问题。问题是

$this->db->select('user.*')
    ->join('user_group', 'user.group_id BETWEEN user_group.start_range AND user_group.end_range', 'left');
此代码生成以下查询:

SELECT `user`.* FROM (`user`) LEFT JOIN `user_group` ON `user`.`group_id` `BETWEEN` user_group.start_range AND user_group.end_range
在这里,mysql无法识别引号字符内的
,如何在不使用引号字符包装的情况下生成查询。请给我任何建议


我正在使用codeigniter 2.2.0

您需要覆盖
CI\U DB\U驱动程序
类中的
$\u保留的\u标识符
变量,如下所示

var $_reserved_identifiers  = array('*', 'BETWEEN'); // Identifiers that should NOT be escaped
(注意:我不确定这是否会降低安全性)


另一个选项是使用
=
复制between运算符,您需要使用>=和=user\u group.start\u range和user.group\u id Well CI 2.2.x没有转义标志作为联接上的第四个参数(转义值和标识符),而在CI 3.0中,它有。因此,如果您使用的是CI 2.2.0,您需要按照imran qasim的建议进行操作!感谢您的帮助,imran qasim提供的解决方案效果良好