In CodeIngiter User guide ,they said the following code:
$this->db->where('name', $name);
$this->db->where('title', $title);
$this->db->where('status', $status);
// WHERE name = 'Joe' AND title = 'boss' AND status = 'active'
It means when I wanna select some thing from database by active record,I should use where method and it will do it by replace AND between fields.
now I wanna to make login page,I do this:
public function True_login($username = '',$password = '')
{
$this->db->flush_cache();
$this->db->where('username',$username);
$this->db->where('password',$password);
$count = $this->db->count_all_results('PM_ADMIN_LIST');
if ($count === 1)
{
return TRUE;
}
else
{
return FALSE;
}
}
but it will return TRUE if username=$username OR password = $password .
if one of the username or password will be found in table(and $count === 1 it will return TRUE)
where is my prbolem and how should I solve it?
is returning the number of rows in the table and ignorning the restrictors above it.
Try:-
Also, put some debug in – if you knew what the value of
$countwas then it may have helped you work out that the Active Record query was wrong rather than thinking it was doing anORinstead of anAND.