Hallo zusammen,
ich habe nun mal zwei verschiedene Varianten ausprobiert um den Duplicate Entry Fehler zu vermeiden.
Wie gesagt: Bei Refreshen des Browser und vorherigen Insert gibt es ohne Fehlerbehandlung folgenden Abbruch:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry...
Mache ich den Insert mit IGNORE
$dbInsertType = $DBO->prepare("INSERT IGNORE INTO
kommt im Fehlerfall keine Meldung und der Insert wird auch nicht gemacht. OK so.
Ich kann es aber auch mit Try & Catch machen.
try {
$dbInsertType = $DBO->prepare("INSERT INTO ..
} catch (PDOException $ex) {
echo "Fehler wegen doppelten Werten <br>";
}
Allerdings habe ich das echo im Catch Teil nur zum testen. Im Original Script braucht / will ich das nicht. eigentlich bleibt dann das Catch leer.
Jetzt stellt sich die Frage:
Was ist sauberer oder besserer Programmierstil?
Gruss
Werner