WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   SQL-abfrage nach bereits vorhandenem username (http://www.wcm.at/forum/showthread.php?t=30547)

RaistlinMajere 15.09.2001 19:21

SQL-abfrage nach bereits vorhandenem username
 
ich schreibe derzeit an einer userverwaltung, diese funktioniert auch ganz gut, nur möchte ich, daß bei der registratur von usern für den fall, daß ein user einen username wählt, der schon vorhanden ist, eine entsprechende fehlermeldung angezeigt wird. ich habe dafür folgende lösung, aber irgendwie wird es nicht erkannt, wenn ich einen username eingebe und dieser schon vorhanden ist, da wird nur eine standardfehlermeldung ausgegeben, daß die eingabe des usernames nicht funktioniert hat, aber ich würde da gerne zwischen diesem fehler und einem fehler aufgrund eines bereits vorhandenen usernames unterscheiden. weiß jemand, wo mein fehler liegt? hier ist mein qt:

$sql = "INSERT INTO user (username, password) VALUES('" . $user . "', '" . $password . "')";
if (!$user_erstellen = mysql_query($sql, $db_on)) { // eingabe fehlgeschlagen
$sql = "SELECT * FROM user WHERE username='" . $user;
if ($usercheck = mysql_query($sql,$db_on)) { // warum fehlgeschlagen, username schon vorhanden?
$ausgabe = "FEHLER! User $user existiert bereits!";
}
else {
$ausgabe = "FEHLER! User $user wurde nicht erstellt!";
}
}
else {
$ausgabe = "User $user wurde erfolgreich erstellt.";
}

vielen dank für eure mühen.

Sonic 16.09.2001 01:03

Beim 2. SQL fehlt nach dem Usernamen das abschleißende '

$sql = "SELECT * FROM user WHERE username='" . $user. "'";

Außerdem musst du glaub ich schauen ob mysql_affected_rows >0 is weil mysql_querry nur false liefert wenn mit der Abfrage was nicht stimmt. Wenn aber der SQL erfolgreich ausgeführt wurde ist er TRUE auch wenn du nichts zurück bekomms.

RaistlinMajere 16.09.2001 11:45

das "'" wars
 
danke. :-)

RaistlinMajere 16.09.2001 11:52

noch eine frage
 
ich verwende phpAdmin, habe da die meldung
Zitat:

Fehler
SQL-Befehl :

CREATE DATABASE


MySQL meldet:


You have an error in your SQL syntax near '' at line 1


Zurück
bekommen, kann aber damit nicht recht was anfangen. wenn ich auf aktualisieren gehe, bekomme ich den normalen startscreen.

Galileo 16.09.2001 12:28

also ich würde zuerst mal abfragen ob ein user mit diesem namen schon existiert, und dann erst insert into oder "user existiert bereits"

mr. blub 16.09.2001 14:03

@RaistlinMajere:

mysql> CREATE DATABASE blabla

versuchs mal so, du musst schon den namen der neuen datenbank angeben....


-zeke

RaistlinMajere 16.09.2001 14:16

@mr blub
 
ich verstehe nicht, woher diese meldung kommt, ich habe bereits bestehende datenbanken mit namen, tabellen und einträgen. und ich habe nicht versucht, eine neue db zu erstellen, was eine solche meldung zur folge haben könnte, hätte ich keinen namen angegeben oder sonst was.


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag