Fehler beim Abfragen einer Mysql-Tabelle
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
Moin, in folgendem Code muss ein Fehler sein, da immer nur "Nickname gefunden" ausgegeben wird, obwohl "Hans" nicht in der Tabelle vorhanden ist.
Könnt ihr mir helfen?
if ($nickname != '' and $passwort != '') { if ("mysql_query SELECT Nickname FROM User WHERE Nickname LIKE 'Hans'") { echo "Nickname gefunden."; } else {echo "Nickname nicht gefunden."; } }
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Moin, in folgendem Code muss ein Fehler sein, da immer nur "Nickname gefunden" ausgegeben wird, obwohl "Hans" nicht in der Tabelle vorhanden ist.
Könnt ihr mir helfen?
if ($nickname != '' and $passwort != '') { if ("mysql_query SELECT Nickname FROM User WHERE Nickname LIKE 'Hans'") { echo "Nickname gefunden."; } else {echo "Nickname nicht gefunden."; } }
Abgesehen davon, dass ich die Syntax nicht ganz checke, hier mal, wie ich es machen würde, wenn ich du wäre:
<?php if ($nickname != '' and $passwort != '') { if (mysql_query('mysql_query SELECT Nickname FROM User WHERE Nickname LIKE 'Hans'')) { echo 'Nickname gefunden.'; } else {echo 'Nickname nicht gefunden.'; } } ?>
-
jetzt wird nur noch "Nickname nicht gefunden" angezeigt, egal ob vorhanden oder nicht...
Beitrag geaendert: 25.4.2007 19:11:58 von d-i-l -
jetzt wird nur noch "Nickname nicht gefunden" angezeigt, egal ob vorhanden oder nicht...
Beitrag geaendert: 25.4.2007 19:11:58 von d-i-l
Jo, wäre auch hilfreich, die PHP-Funktion nicht an den SQL-Server zu senden, denn der kann damit ja absolut nichts anfangen:
<?php if ($nickname != '' and $passwort != ''){ if (mysql_query("SELECT Nickname FROM User WHERE Nickname LIKE 'Hans'")){ echo 'Nickname gefunden.'; } else { echo 'Nickname nicht gefunden.'; } } ?>
gruß
ferdinand24 -
Sie funktion gibt einen Wert zurück sobald sie erfolgreich ausgeführt hat... und der ist nicht true ... deshalb ist die Funktion wie du sie geschrieben hast unsinn.
Du solltest evtl Prüfen wieviele Tabellenzeilen dem angegebenen Nick entsprechen.
<?php if ($nickname != '' and $passwort != ''){ $result = mysql_query('SELECT Nickname FROM User WHERE Nickname LIKE 'Hans''); if (mysql_affected_rows()>0) { echo 'Nickname gefunden.'; } else { echo 'Nickname nicht gefunden.'; } } ?>
Übrigends setze zum Speichern der Passwörter am besten die Crypt() funktion von PHP ein, dann werden nur die MD5 hashes gespeichert. Dann sind die Paswörter zwar nichtmehr daraus wieder regenerierbar (zumindest nicht ohne Rainbowtables)
aber sie werden auch nirgends im Klartext gespeichert und sind somit etwas sicherer
Beitrag geaendert: 26.4.2007 12:51:58 von keiax
Beitrag geaendert: 26.4.2007 12:52:14 von keiax -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage