CI防sql注入

Ci 防sql注入

Ci框架本身提供的数据库操作方法支持防sql注入,但是不易组合成复杂的sql语句,这时需要我们自己书写原生sql,下面是原生sql防sql注入的方法:

  1. escape()
    使用:$this->db->escape(你的变量);
    例:$sql = "SELECT * FROM TABLE WHERE key=" . $this->db->escape($key);

  2. escape_like_str() 适用于模糊查询
    使用:$this->db->escape_like_str(你的变量);
    例:$sql = "SELECT * FROM TABLE WHERE column LIKE '%".$this->db->escape_like_str($search)."%'";

  3. ?
    例:$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";
    $this->db->query($sql, array(3, 'live', 'Rick'));

你可能感兴趣的:(CI)