MoeinHm MoeinHm - 1 year ago 76
PHP Question

problem with "count_all_results" and "where" with Active Record in CodeIgniter

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
method and it will do it by replace
between fields.
now I wanna to make login page,I do this:
public function True_login($username = '',$password = '')
$count = $this->db->count_all_results('PM_ADMIN_LIST');
if ($count === 1)
return TRUE;
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?

Answer Source

is returning the number of rows in the table and ignorning the restrictors above it.


$count = $this->db->count_all_results();

Also, put some debug in - if you knew what the value of $count was then it may have helped you work out that the Active Record query was wrong rather than thinking it was doing an OR instead of an AND.