使用第二个可选参数选择数据
通常我们在 CodeIgniter 中的 select([$select = '*'[, $escape = NULL]])
中没有使用第二个参数。如果将其设置为 FALSE,CodeIgniter 将不会尝试保护你的字段或表名称。
在下面的示例中,我们将通过使用 sql 查询对其进行格式化来选择日期时间类型字段并将其设置为 FALSE
(通过这样做,我们将告诉 CI 不要自动转义查询)。
public function getUserInfo($id)
{
$this->db->select('BaseTbl.id, BaseTbl.name, DATE_FORMAT(BaseTbl.createdDtm, "%d-%m-%Y") AS createdDtm', FALSE); // FALSE is the second optional parameter
$this->db->from('tbl_users as BaseTbl');
$this->db->where('isDeleted', 0);
$this->db->where('BaseTbl.id', $id);
$query = $this->db->get();
return $query->result();
}
如果我们没有将它设置为 FALSE
,它将自动转义并中断查询。