db überprüfen ob datensatz schon mal vorkommt?

I'm sorry.

Wenn du [phpf]mysql_query[/phpf] anstatt [phpf]mysql_db_query[/phpf] verwendest,
muss du natürlich einmalig [phpf]mysql_select_db[/phpf] ausführen.

Am besten gleich nach dem [phpf]mysql_connect[/phpf].

Also so:
PHP:
if ($wahl == "reg")
{
    mysql_connect("localhost","a","b");
    mysql_select_db("db01");
// usw...
 
Hallo miteinander,
auch wenn das Thema schon geschlossen ist, würde ich mich noch gern dazu äußern:
Wäre es nicht eleganter, wenn man die MySQL-Spalte des Benutzernamens auf als UNIQUE-Schlüssel definiert? Dann müsste man nur noch den Rückgabewert vom MySQL-Statement überprüfen:
PHP:
$sql = "INSERT INTO ...";
if ($result = mysql_query($sql)) {
    // Erfolgreich angemeldet
} else {
    // Benutzername (oder anderer UNIQUE-Schlüssel) schon vorhanden
}

Gruß
Marvin
 
Dann musst du den INSERT überprüfen.
Is eigentlich egal wo, wenn allerdings deutlich öfter abgefragt, als eingetragen wird, dann ist dein Vorschlag natürlich besser.
 
Marvin Schmidt hat gesagt.:
Hallo miteinander,
auch wenn das Thema schon geschlossen ist, würde ich mich noch gern dazu äußern:
Wäre es nicht eleganter, wenn man die MySQL-Spalte des Benutzernamens auf als UNIQUE-Schlüssel definiert? Dann müsste man nur noch den Rückgabewert vom MySQL-Statement überprüfen:
PHP:
$sql = "INSERT INTO ...";
if ($result = mysql_query($sql)) {
    // Erfolgreich angemeldet
} else {
    // Benutzername (oder anderer UNIQUE-Schlüssel) schon vorhanden
}

Gruß
Marvin
Dazu möchte ich mal auf den Codenavigation-Durch-Exceptions-Thread verweisen. In dem Beispiel hast Du kaum einen Anhaltspunkt, warum das Query fehlgeschlagen ist. Jedenfalls bedeutet es mit Sicherheit nicht, dass kein Eintrag gemacht wurde:
mysql_query hat gesagt.:
Ein Rückgabewert ungleich FALSE bedeutet, dass die Anfrage gültig war und vom Server ausgeführt werden konnte. Das alleine sagt jedoch überhaupt nichts über die Anzahl veränderter oder gelieferter Datensätze aus. Es ist durchaus möglich, dass eine Anfrage erfolgreich war, ohne einen einzigen Datensatz zur verändern oder zu liefern.
Gruß hpvw
 
Zurück