Moin!
mysql> update tbl_scpportalusers set scppassword=md5('hallo') where scplogin='nutrishop';
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 1mysql> select * from tbl_scpportalusers where scplogin='nutrishop' and scppassword = md5('hallo');
Empty set (0.00 sec)Irgendwas mach ich hier wohl grob falsch oder?
Ja. Du solltest md5() in _PHP_ benutzen, nicht in MySQL.
Also sowas:
$sql = "UPDATE tbl.... SET password='".md5($password)."' WHERE blah";
mysql_query($sql);
Vorteil: Du kannst dir den SQL-String zu Testzwecken vorher noch mal ausgeben lassen.
Du kannst dir auch den Select-String ausgeben lassen.
Du kannst mit einem Admin-Programm (Kommandozeile oder phpMyAdmin) direkt in die Passwortspalte schauen und SELECT sowie Inhalt der Spalten vergleichen, weil du das codierte Passwort im SQL-String drin hast.
Wenn das dann nicht übereinstimmt, ist irgendwas mit md5() kaputt, oder mit der Datenbank.
- Sven Rautenberg
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)