Veröffentlicht 21. Juli 200421 j Hi, ich habe ein PHP-Skript (Anmeldung) und möchte überprüfen, ob der gewählte Username schon vergeben ist. Wie stell ich das am blödsten an? Ich wollte das folgendermaßen lösen: $sql = "SELECT id FROM mitglieder WHERE username = '$priv_username'"; $result = mysql_query($sql) or die(mysql_error()); $priv_username_bestehend = mysql_fetch_array($result); if($priv_username_bestehend == "") { ... } [/PHP] Funktioniert aber nicht so ganz wie ich mir das vorstelle. Eine Datenbankabfrage liefert immer 1 als Ergebnis, obwohl der erste Wert in der Datenbank einen ganz anderen Username hat. Gibt es vielleicht eine SQL-Funktion, mit der man die Existenz eines Wertes überprüfen kann? Danke im voraus
21. Juli 200421 j Hallo, entweder arbeitest Du mit mysql_numrows um die Anzahl der Ergebniszeilen zu ermitteln oder Du machst ein count in deinem SQL String der die Anzahl der Zeilen ermittelt. Und dann mußt Du die Anzahl ja nur noch abfragen. Frank
21. Juli 200421 j Funktioniert aber nicht so ganz wie ich mir das vorstelle. Eine Datenbankabfrage liefert immer 1 als Ergebnis, obwohl der erste Wert in der Datenbank einen ganz anderen Username hat. Datensätze in einer DB habne keine "Reihenfolge". Es gibt keinen "ersten" Satz. Nur einen Satz mit id=1 oder =184665. Wie sieht denn die Tabelle überhaupt aus? Mit welcher DB arbeitest du? Das wären wichtige Vorabinfos, ohne die hier wenig Hilfe zu erwarten ist/ möglich ist. mfg
21. Juli 200421 j $result = mysql_query("SELECT ID FROM Tabelle WHERE Beschreibung = '".$_POST["Beschr"]."'"); if ((@mysql_num_rows($result) > 0)) { // Existiert bereits } [/PHP] So sieht das ganze bei mir aus und funktioniert auch.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.