En CodeIngiter Guía del usuario, que dijo que el siguiente código:problema con los "count_all_results" y "dónde" con Active Record en CodeIgniter
$this->db->where('name', $name);
$this->db->where('title', $title);
$this->db->where('status', $status);
// WHERE name = 'Joe' AND title = 'boss' AND status = 'active'
Significa que cuando quiero seleccionar alguna cosa de la base de datos de registro activo, yo debe usar el método where
y lo hará reemplazando AND
entre los campos. ahora quiero hacer la página de inicio de sesión, hago esto:
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;
}
}
pero devolverá TRUE si
username=$username OR password = $password
. si uno de los nombre de usuario o contraseña se encuentra en la tabla (y
$count === 1
devolverá VERDADERO) ¿dónde está mi prbolem y cómo debo solucionarlo?
De acuerdo con la documentación, al llamar "where" dos veces se generará una consulta AND. No entiendo cuál es el problema? –
¿Quiere decir que se evalúa como 'O' en lugar de 'Y'? – ace
¿Has probado el * Método asociativo de matriz *? ¿Qué versión codeigniter estás usando? – hakre