Sul*_*man 0 php sql codeigniter
如何防止codeigniter在我们的查询中不插入单引号?
当我们在codeigniter中编写查询时,它会自动插入单引号,如下所示:
$this->db->select('id, ifnull(name,\'\') as name');
$this->db->from('table');
Run Code Online (Sandbox Code Playgroud)
这会产生数据库错误.
$this->db->select('id, ifnull("name",\'\') as name', false);
$this->db->from('table');
Run Code Online (Sandbox Code Playgroud)
是你所追求的.引号正在转义以停止sql注入,请确保不要混合来自用户的未经过处理的输入.
我想我还应该注意,使用这个false参数会停止双引号封装,如果你使用的是postgres,你可能需要自己封装用作列名的任何kew字.(见name和之间的区别"name")