18 $sql="SELECT * FROM members WHERE email=? AND passw=?";
19 $query=$this->db->query($sql,array($email,$passw));
20 //もしクエリの行数が1件以上あれば
21 if($query->num_rows() > 0)
22 {
23 $this->session->set_userdata(
24 array('email'=>$email,'passw'=>$passw));
25 $this->load->view('top');
26 }else{
27 $error=array('login_err'=>'メールアドレスかパスワードが違います');
28 $this->load->view('login',$error);
29 }
ですからして、18行の$sqlが19行の$sqlに紐付いてarray($email,$passw)が18行の?に順に嵌め込まれます。
Zuishin様の言われている「エスケープをちゃんとしないと SQL インジェクションに弱くなります。」
の反意が4行の
$this->form_validation->run('login')
で実装されてます。