2016-08-14 2 views
0

meinen CodeCodeigniter Datenbank sowohl in Groß-, Klein- und Groß- und Kleinschreibung Abrufen

// My code: 

$this->db->select('*') 
->from('tbl_login') 
->where(['username'=>$this->input->post('username'),'password'=>$this->input->post('password')]); 
$result = $this->db->get()->result(); 

if($result) 
    var_dump($result) 
else 
    echo "not fount"; 

tut, was immer ich input 'admin1' keine Rolle, oder 'ADMIN1' & 'password1' oder 'PASSWORD1' es Ruft Daten aus den Tabellen ab. Aber was ich eigentlich will ist, dass Daten abgerufen werden, wenn der Fall richtig zugeordnet wird.

Könnte jemand helfen ??? ...

+0

Ihre Datenbankspalten sind wahrscheinlich mit Sortierungen ohne Berücksichtigung der Groß- und Kleinschreibung definiert. Ändern Sie ihre Sortierungen auf Groß- und Kleinschreibung und Sie sollten in Ordnung sein. – eggyal

+1

** WARNUNG **: Schreiben Sie kein eigenes Benutzerauthentifizierungssystem, da es viele, viele Möglichkeiten gibt, um es gefährlich falsch zu machen. Die Verwendung von ** Klartext-Passwörtern ** ist ein solcher Fehler. [Codeigniter hat viele Pakete] (http://stackoverflow.com/questions/33311725/codeigniter-3-x-authentication-library) die bereits funktionieren. Ich empfehle Ihnen dringend, einen zu finden, der Ihren Bedürfnissen entspricht oder der nahe genug ist, dass Sie ihn an das anpassen können, was Sie tun. – tadman

Antwort

0

Versuchen Sie dieses

$query = $this->db->select("*")->from("tbl_login")->where("BINARY username= '".$this->input->post('username')."' and password = '".$this->input->post('password')."'"); 

    $result = $this->db->get()->result(); 

    if($result) 
     var_dump($result) 
    else 
     echo "not found"; 

Hinweis: Grundsätzlich BINARY vor Ihrer wo die Bedingungen in Abfrage verwenden.

Hoffe, das wird helfen !!

Verwandte Themen