Duplicate Key Error abfangen

Trash

Erfahrenes Mitglied
Hallo,
ich habe ein Skript, dass einen neuen User in der DB anlegt. Dabei darf eine E-Mail Adresse aber nur einmal vorkommen. Ich habe dies so in der DB formuliert. Wenn ich die Registrierung nun 2 mal ausführe kommt der Fehler:

Code:
An error occured.
Query: INSERT INTO st_users VALUES (blabla)
Host: localhost
Database: tunnel
User: root
MySQL said: Duplicate entry 'blabla' for key 2

Soweit so gut. Wie bekomme ich es nun aber hin, dass ich nicht diese Errormeldung ausgebe, sondern eben eine customized Meldung. Ich denke da an so etwas, dass mir die Query einen bestimmten Returncode liefert, woran ich erkenne, dass es sich um diesen Fehler handelt. Beispiel:

PHP:
$myQuery = $dbConnect->query("blabla");

If ($myQuery = 2) {
echo "Fehler. Diese E-Mail Adresse gibt es schon";
}

Geht das irgendwie?

Danke
 
Wenn ich dich richtig verstehe, brauchst du doch nur eine SELECT-Anweisung ausführen, die prüft, ob die E-Mail Adresse schon vorhanden ist, um dann darauf zu reagieren.
 
@xCondoRx: Ja, Du hast mich richtig verstanden. Allerdings brauche ich ja so 2 Abfrage, was nicht ganz performant ist. Ich werde es nun mal mit mysql_errno() testen.

Danke
 
Zurück