Php Codeigniter SQL查询语法

Php Codeigniter SQL查询语法,php,mysql,codeigniter,Php,Mysql,Codeigniter,我正在使用,但查询有问题 变量day的默认值为14。我想将下面的sql查询转换为下面的codeigniter模型 (CONVERT_TZ(CreateTime,'+0:00','+9:00') > DATE_ADD( CONVERT_TZ(NOW(),'+0:00','+9:00') , INTERVAL -".$day." DAY ) OR CONVERT_TZ(CreateTime,'+0:00','+9:00') > DATE_ADD( CONVERT_TZ(NOW(),'+

我正在使用,但查询有问题

变量
day
的默认值为
14
。我想将下面的sql查询转换为下面的codeigniter模型

(CONVERT_TZ(CreateTime,'+0:00','+9:00') > DATE_ADD( CONVERT_TZ(NOW(),'+0:00','+9:00') , INTERVAL -".$day." DAY )

OR CONVERT_TZ(CreateTime,'+0:00','+9:00') > DATE_ADD( CONVERT_TZ(NOW(),'+0:00','+9:00') , INTERVAL -".$day." DAY ) )
这是我写的模型,它给出了错误

$where["CONVERT_TZ(CreateTime,'+0:00','+9:00') > DATE_ADD( CONVERT_TZ(NOW(),'+0:00','+9:00'),"] = "INTERVAL -".$day." DAY";

foreach ($where as $key => $value) {
   $this->db->where($key,$value);
}
像这样试试

 $where = "(CONVERT_TZ(CreateTime,'+0:00','+9:00') > DATE_ADD( CONVERT_TZ(NOW(),'+0:00','+9:00') , INTERVAL -".$day." DAY )
           OR CONVERT_TZ(CreateTime,'+0:00','+9:00') > DATE_ADD( CONVERT_TZ(NOW(),'+0:00','+9:00') , INTERVAL -".$day." DAY ))";

  $this->db->where($where);

有关更多信息,请参见

谢谢您的建议。我将研究Codeginiter查询生成器。但是,我已经尝试了你的代码,它仍然给我相同的错误。好的。这里是我的错误,你有一个错误:在你的SQL语法;查看与您的MySQL服务器版本对应的手册,以了解使用near')或CONVERT_TZ(CreateTime,“+0:00',“+9:00')>DATE_ADD(CONVERT_TZ(否)”的正确语法。您当前的MySQL版本不支持
CONVERT_TZ()
。MySQL版本信息:“MySQL Ver 14.14发行版5.5.53”它支持
CONVERT\utz
功能,而且很好用。这段代码很好用,这是我的错误。我去掉了