我在CodeIgniter上使用Active Record。我很困惑我應該採取哪種方法。目前,我們的登錄系統讓用戶使用用戶名/電子郵件作爲登錄名和密碼。但是,我目前的活躍記錄,似乎讓用戶登錄,如果他選擇使用電子郵件+沒有密碼。codeigniter active record where,or_where?
現在這是我的查詢:
$this->db->select('id,level,email,username');
$this->db->where('email',$user);
$this->db->or_where('username',$user);
$this->db->where('password',$pass);
$query = $this->db->get('users');
if($query->num_rows>0)
return TRUE;
else
return FALSE;
採樣輸入:
- 用戶名:測試 |密碼:pass |結果:成功
- 用戶名:測試 |密碼:空 |結果:失敗
- 用戶名:[email protected] |密碼:pass |結果:成功
- 用戶名:[email protected] |密碼:空 |結果:成功
第四測試輸入必須在結果失敗,但似乎它記錄即使密碼爲空的用戶。
太好了!感謝您的快速回復。 – 2012-03-26 10:59:30
這不會破壞活動記錄的目的,並打開SQL注入的應用程序? – 2013-11-14 21:58:45