我对codeigniter文档here
上的此声明有疑问$where = "name='Joe' AND status='boss' OR status='active'"; $this->db->where($where);
$this->db->where()
接受可选的第三个参数。如果你设置 它为FALSE,CodeIgniter不会试图保护你的领域或表 带反叛的名字。
它在第三个参数上表示错误,Codeigniter不会尝试使用反引号来保护我的字段或表名
这意味着它不会保护我生成的所有查询,或只是$this->db->where()
,其中第三个参数为假
例如:
$this->db->where('username',$username);
$this->db->where('id is NOT NULL',null,FALSE);
$this->db->get('users')->result_array();
以上示例中使用的查询是否安全?
它是否会影响第一个$this->db->where('username',$username)
因为第三个参数的false为false并影响所有查询或其安全,因为它只影响id $this->db->where('id is NOT NULL',null,FALSE);
我很感谢你们/女孩们能否提供生成的查询的一个例子,因为我现在知道这个Thx的错误输入!
答案 0 :(得分:0)
不,它不影响整个查询,只影响您使用参数的where()
调用...否则它不会是参数。
是的,除非你把用户输入放在条件中,否则这样做是安全的。