Ich bin ziemlich verzweifelt mit Laravel 5.4 und Eloquent Query Builder. Ich versuche, einen Benutzer mit Benutzernamen und Passwort abzurufen.Eloquenter Abfragefehler
Ich habe folgende Spalten in meiner db: ID, Benutzername, Passwort
Abfrage Es folgt für mich arbeiten:
$user = UserModel::where(['username' => $username])->first();
während dieses ist nicht:
$user = UserModel::where(['password' => $password])->first();
Ich bin Drucken beide $username
und $password
vor der Abfrage, und beide sind genau das, was sie sein sollten.
Was kann ich möglicherweise falsch machen?
EDIT:
- Ja ich speichern Passwort wirklich im Klartext.
- Das Verfahren ist ein Teil der API basiert auf Zend-XMLRPC-Server
- PHP einen Fehler oder Ausnahmen
- XMLRPC Server return "404 unbekannter Fehler" Störreaktion nicht zurück.
- Ja bin ich sicher, dass Werte keine unsichtbaren Zeichen enthalten und in der Tat korrekt sind.
- Werte sind in Anfrage hart codiert, ich habe auch versucht, sie direkt in Abfrage mit dem gleichen Ergebnis zu codieren.
- Ich benutze Oracle (11g glaube ich), Laravel 5.4, PHP 5.6
- Wertpaar ist korrekt, dieser Benutzername gehört zu diesem Passwort und beide sind genau in der gleichen Form wie in der Datenbank.
Ich habe versucht, folgende Formen von Abfragen mit gleichen Ergebnissen:
$user = UserModel::where('password', $password)->first();
$user = UserModel::where(['password' => $password])->first();
$user = UserModel::where('password', '=', $password)->first();
Variationen mit Benutzername führen zu genau gleichen Ergebnisse wie in der ersten erwähnt.
Speichern Sie Passwörter wirklich im Klartext? –
Ok. Die Sache ist, wenn der erste bekommt, was Sie wollen, während der zweite nicht, dann ist es eher ein "es kann es eigentlich nicht finden" anstatt "es gibt einen Fehler". – apokryfos
Ja, ich tue, es ist eine schlechte Übung, aber das ist nur Testfall, nicht Produktion. –