即使在更复杂的查询中,CodeIgniter Query Builder也能防止sql注入吗



我知道使用CodeIgniter的查询生成器应该可以防止SQL注入。该手册说,它"允许更安全的查询,因为值是由系统自动转义的。"但我不确定"值"是指通过查询生成器的任何内容,还是仅指以简单结构传递的值,如:$this->db->where('name', $name);

例如,如果我使用:

$this->db->select('student_id, concat(fname, " ",lname) as student_name');
$this->db->from('student');
$this->db->join('class_has_teacher',"student.class_id=class_has_teacher.class_id AND teacher_id=$teacher_id");
$query = $this->db->get();

JOIN条件中的$teacher_id也会被转义吗?

(如果重要的话,我使用CodeIgniter 3.1.9(

是的,$teacher_id将被转义。

最新更新