Frage zur Fehlerbehandlung

zinion

Erfahrenes Mitglied
Hallo,

Bei der Anmeldung der User werden diese (natürlich) in eine Datenbank eingefügt. In der Datenbank ist der Nickname als UNIQUE eingestellt. Wenn man nun also versucht sich ein zweites mal mit demselben Namen anzumelden gibt es so wie es sein soll eine Fehlermeldung: duplicate entry bla...

Code:
mysql_query($inquery) or die ("Ungültige Abfrage: " . mysql_error());
mysql_close();

Meine Frage: Wie kann ich den fehler sozusagen "abfangen" und selbst darauf reagieren z.B. mit der Ansage "dieser benutzername existiert bereits" oder einer Messagebox? Muss ich vorher eine eigene Prüfung durchführen ob es den Namen schon gibt oder gibt es eine Möglichkeit, direkt auf diesen Fehler zu reagieren?
 
versuch doch vorher die datenbank abzufragen, ob der username schon existiert

PHP:
  // check if username exists
  $query  = "SELECT username FROM user WHERE username = '".$username."'";
  $result = mysql_query($query);

  if(mysql_num_rows($result) != 0)
  {
    include("header0.php");
    include("header1.php");
    echo "<p align=\"center\"><b>Error:</b> The username allready exists. Please, choose another one!</p>\n";
    include("footer0.php");
    exit;
  }
 
Lass das DIE(mysql_error()) weg und frag stattdessen die mysql_errno() ab. Die Beschreibung der Fehlercodes findest du im Handbuch. Darauf kannst du dann reagieren ohne, dass das Script gleich abbricht.
 
Hehe, war ne Weile nich on, musste jetzt ganz schön suchen nach dem Post.

Danke für die Antwort an euch beide. Mal sehen welche Lösung ich einsetze :o)
 
Gibts sowas auch ....

für Sybase-Fehlermeldungen?

sybase_error oder sybase_errno erscheint bei mir nicht.
 
Zurück