W CodeIngiter podręcznik użytkownika, mówili następujący kod:problem z „count_all_results” i „gdzie” z Active Record w 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'
Oznacza to, kiedy chcę wybrać kilka rzeczy z bazy danych przez aktywnego rekordu, I należy użyć metody where
, a zrobi to, zastępując AND
między polami. Teraz chcę utworzyć stronę logowania, robię to:
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;
}
}
, ale zwróci ona PRAWDA, jeśli
username=$username OR password = $password
. jeśli w tabeli pojawi się jedna z nazw użytkownika lub hasło (i
$count === 1
zwróci TRUE) gdzie jest moja prbolem i jak mam ją rozwiązać?
Zgodnie z dokumentacją, wywołanie "where" dwukrotnie spowoduje wygenerowanie zapytania AND. Nie rozumiem, na czym polega problem? –
Masz na myśli, że zostało ocenione jako "OR" zamiast "AND"? – ace
Czy próbowałeś * Asocjacyjnej metody tablicy *? Którą wersję codeigniter używasz? – hakre