ID aus einer Passwort Tabelle users der Datenbank abfragen!

  • Hallo,


    ich versuche aus einer Tabelle der Datenbank die ID von eiem Benutzer und dessen verschlüsseltes Passwort abzufragen.


    Leider bekommen ich nur 0 heraus, außer das Password ist nicht verschlüsselt. (Mithilfe von ='PASSWORD(kjj)')


    Ich habe schon Stundenlang an dem Script gedoktert bis ich es direkt in der Datenbank versucht habe.


    Da es dort schon nicht geht weiß ich auch nicht weiter.


    Im Anhang habe ich Bilder angehengen wo ich hoffe es ist daraus alles zu erkennen.


    Wo steckt dort nur der Fehler?


    Danke

    Dateien

    • db1.PNG

      (46,01 kB, 20 Mal heruntergeladen, zuletzt: )
    • test1.JPG

      (54,59 kB, 16 Mal heruntergeladen, zuletzt: )
    • test2.JPG

      (49,12 kB, 15 Mal heruntergeladen, zuletzt: )
    • test geht.JPG

      (67,58 kB, 17 Mal heruntergeladen, zuletzt: )
  • Hallo jele,


    dein "Max" geht nicht weil es keinen Max gibt, Ergebnis Null.
    Und ich habe festgestellt, dass Mysql manchmal ziemlich launisch ist was Leerzeichen und Anführungsstrichchen angeht.
    Probier mal:

    SQL
    1. SELECT `id` FROM `users` WHERE ( `nickname` = 'horst' AND `password` = '123' )


    Gruß Humbi

  • Danke für die Antwort. Da ich eine Zeit lang probiert habe habe ich auch die Zugangsdaten verändert. Das erste Bild soll die DB Struktur zeigen. Wenn das Passwortes unverschlüsselt ist geht es auch. Ist es mit passwort='Passwort(verschlüsselt)' geht es nicht. Ich werde es morgen mal noch mit den klammern versuchen. Ich versuche die Abfrage in xammp um zu wissen des es klappt.
    Auf jeden Fall Danke.

  • Danke für die Hinweise.
    Ich werde sie mir erst einmal in ruhe durchlesen.
    Leider bekomme ich die Ursprungsfrage nicht gelöst. Habe gerade die Abfrage aus der Datenbank erneut probiert.
    Er kommt mit dem Verschlüsselten passowort nicht zurecht.



    MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze). (Die Abfrage dauerte 0.0007 Sekunden.)
    SELECT level FROM users WHERE nickname = 'hagen' AND ( password = PASSWORD('hagen') )


    Bearbeiten Kopieren Löschen 10 hagen *70ED81EC4FA1D496861CD880DFF64E4F6F 1


    10 Müsste geliefert werden!


    Danke

  • Empfehle auch PHP password_hash, password_verify, ... (wenn PHP denn verwendet wird).
    Aber zum Fehler:


    PASSWORD ist eine Mysql Funktion.
    Und die erstellt einen Hash.
    Beim SELECT musst Du also den Hash vergleichen.


    Bsp:


    BTW: immer ` verwenden. Warum? Weil zB ein Feld names order in einer Query als Sclüsselwort für zB ORDER BY gewertet wird.


    EDIT:
    Wenn Du zB PHP nutzt, dann nutze PHP um die Hashes zu erstellen.
    Sonst sendest Du dauernd das Klartextpasswort (per Query) an den Mysql Server. Das muss nicht sein. Je mehr das unterwegs ist, desto mehr Chancen gibt es, dass es irgendwo "auftaucht" (error logs ect !).