HopelessFrag Geschrieben 29. September 2006 Geschrieben 29. September 2006 Hallo zusammen. Mit folgendem Code versuche ich zu prüfen ob es einen Benutzernamen schon in der Tabelle gibt. Aber es klappt irgendwie nicht so wie ich es mir vorstelle. $name = "helmut"; if(mysql_query("SELECT name FROM tabelle WHERE name = '$name'")){ echo "gibbet schon"; }[/PHP] Er führt die Anweisungen auch dann aus wenn es den Namen noch nicht in der datenbank gibt. Kann mir jemand sagen wo da der Fehler ist? Danke im voraus!
Schiller256 Geschrieben 29. September 2006 Geschrieben 29. September 2006 Ein Blick ins Manual [1] von php hätte dir verraten das mysql_query ein true zurückliefert wenn die anfrage Erfolgreich war. Da das SQL Statement richtig ist gibt es also immer ein true. Nur hast du keine Ergebniszeilen zurückbekommen. Mit der Methode[2] mysql_num_rows kannst du dir die Anzahl der betroffenen Zeilen zurückgeben lassen. [1] http://de.php.net/mysql_query [2] http://de.php.net/manual/de/function.mysql-num-rows.php
etreu Geschrieben 1. Oktober 2006 Geschrieben 1. Oktober 2006 Ein Blick ins Manual [1] von php hätte dir verraten das mysql_query ein true zurückliefert wenn die anfrage Erfolgreich war. Naja, fast. Bei einem Select z.B. bekommst du ein ResultSet bzw. einen ResourceIdentifier zurück mit du dann weiter arbeiten kannst.
robotto7831a Geschrieben 1. Oktober 2006 Geschrieben 1. Oktober 2006 Ich würde in den Select noch ein Uppercase einbauen. So bist Du auf der sicheren Seite. mysql_query("SELECT name FROM tabelle WHERE to_upper(name) = to_upper(".$name.")'); Wenn allerdings halloHallohaLLoHaLlO für dich unterschiedliche Benutzernamen sind dann natürlich nicht. Frank
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden