Php 在codeigniter中通过查询转义订单

Php 在codeigniter中通过查询转义订单,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,以下是SQL查询运行: SELECT * FROM (`news`) WHERE `country` IS NULL AND `region` IS NULL ORDER BY IFNULL(update_date, `create_date)` DESC 您可能会注意到,create_date有一些格式错误,我想禁用转义,但即使在order_by函数之后添加false,也没有效果。如何修复它?非常感谢 $this->db->select('*'); $this->db-

以下是SQL查询运行:

SELECT * FROM (`news`) WHERE `country` IS NULL AND `region` IS NULL ORDER BY IFNULL(update_date, `create_date)` DESC
您可能会注意到,create_date有一些格式错误,我想禁用转义,但即使在order_by函数之后添加false,也没有效果。如何修复它?非常感谢

 $this->db->select('*');
 $this->db->from('news');
 $this->db->where($data);
 $this->db->order_by('IFNULL(update_date,create_date)', 'DESC', false);
 $query = $this->db->get();
 return $query->result_array();
使用以下代码:

$this->db->\u protect\u identifiers=FALSE

$this->db->order_by('IFNULL(update_date,create_date)','DESC',false)


$this->db->\u protect\u identifiers=TRUE

将这一行添加到db select方法的顶部


$this->db->\u protect\u identifiers=FALSE

仅用于更新,尝试使用乘法进行sql选择以在C.I.3.10上工作

$this->db->order_by("results.result * 1", 'ASC', FALSE);

只需将FALSE添加到order_by中即可解决,因为$this->db->u protect_标识符触发了C.I.3.10上的错误('IFNULL(更新_日期,创建_日期)','DESC',FALSE);我想这可能是因为你有错误的顺序。谢谢回复。带或不带false都返回相同的结果
$this->db->order_by("results.result * 1", 'ASC', FALSE);