Hallo Sven,
danke für deine Antwort!
Ich hab jetzt eine Table angelegt (id,name,email,login,pwd)
in der ich die user anlegen möchte:insert into tbl_users values(1,'Stephan','xy@df.com','stephan',password('test'));
Wenn du vernünftig programmieren würdest, würdest du diesen Insert so machen:
INSERT INTO tbl_users (id,name,email,login,pwd) VALUES (...deine daten..., password('test'))
Würde ich normalerweise auch machen. Ich hab eigentlich nur kurz
was reingeschrieben damit ihr wisst wie ich das password() anwende.
Ich habe es folgendermaßen versucht:
select name from tbl_users where login='stephan' and password=password('test');
Die Spalte mit dem Passwort heißt nicht password, sondern pwd. Jedenfalls, wenn deine Angabe oben stimmt.
Auch das ist mir klar! War eigentlich auch nur ein tippfehler.
Sorry. Mir ging es auch hier nur wieder ums prinzip der Anwendung.
Kommt nix zurück. Woran liegt das? Ich habe das selbe auch schon
mit der encrypt() funktion probiert ohne erfolg.Hast du den MySQL-Fehler abgefangen und ausgegeben? Mach das lieber mal.
Es kommt kein MySQL Fehler zurück sondern einfach nur 0 rows.
Ansonsten: Die Funktion password() von MySQL sollte man nicht selbst verwenden, sie ist für interne Zwecke vorgesehen. Mach lieber deine eigene Funktion auf. MD5 ist beispielsweise eine schöne Funktion, die du mit PHP ausführen kannst und die genau dasselbe leistet, wenn nicht sogar besseres.
Weisst du was MD5 ist? MD5 ist ein Prüfsummenberechnungsalgo!
Damit kann man von einer Datei oder von irgendeinem String
eine Prüfsumme berechnen um beispielsweise die konsistenz von
Daten zu prüfen.
Grundsätzlich kann es vorkommen dass zwei verschiedene strings
die selbe prüfsumme zurückgeben. Deswegen würde ich sowas nicht
unbedingt für passwörter benutzen... Oder sehe ich das vielleicht
aus einem falschen Blickwinkel?
Gruß
Stephan