Hello,
Das eintragen ist auch kein Problem, aber halt nur die Überprüfung macht mich gerade fertig. Habe mir schon Funktionen mit UNIQUE.
Oder ist es vielleicht einfacher die entsprechneden Spalte in der Datenbank auf UNIQUE zu setzen? aber wie ist es dann mit der Fehlermeldung?
Es ist der einzig praktikable Weg, mit einem Unique Index auf der betroffenen Spalte zu arbeiten, denn sonst schaffst Du Dir ein TOC-TOU-Problem (Time of Controul - Time of Use). Das bedeutet, dass zwischen der Überprüfung, ob der Name schon in der Spalte enthalten ist und der dem Eintrag (ein) weitere(r) Prozess(e) ebenso verfahren kann/können. Dann hättest Du hinterher trotzdem zwei oder mehr gleiche Eintragungen.
Wenn man also sowieso den Index benötigt, kann man die Ablehnung auch gleich darüber steuern.
Wenn Du einen MySQL-Fehler für eine Index-Verletzung bekommst, postest Du dem User die Daten als Affenformular zurück mit dem entsprechenden Vermerk.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg