Wie verhindern Sie die Eingabe von doppelten Datensätzen in PHP mysql? Validierung der Eingabe vor dem Einfügen in die Tabelle.
Ich erstelle derzeit einen Benutzerregistrierungsabschnitt für meine Website, möchte diesen jedoch einen Fehler anzeigen, wenn ein doppelter Benutzername oder eine E-Mail-Adresse in der Datenbank gefunden wird.
BEARBEITEN
Das ist, was ich bis jetzt Zeilen einfügen muss ... wie würde ich diese beiden Antworten hier umsetzen:
Ich vermute, dass ich alles in einer if ... else-Anweisung implementieren könnte?
Ich habe die SQL-Anweisung zusammen mit einer if else-Anweisung verwendet.
%Vor%dann
%Vor%zeigt eine Fehlermeldung an, um zu verhindern, dass Duplikate hinzugefügt werden
andernfalls erlauben Sie Datenbank einfügen
Definieren Sie eindeutige Einschränkungen für die Spalten Benutzername und E-Mail:
%Vor%Wenn der Wert, der versucht wird, eingefügt oder aktualisiert zu werden, bereits in der Tabelle vorhanden ist, gibt MySQL einen Fehler zurück, der besagt, dass die Abfrage die entsprechende eindeutige Einschränkung (möglicherweise beide) verletzt. Es liegt an Ihnen, PHP so einzurichten, dass es sich elegant verhält.
Führen Sie vor dem Einfügen eine SQL-Anweisung wie
aus %Vor%(mit parametrisiertem SQL ) und die Zahl zählen der Zeilen zurückgegeben.
Wenn es mehr als 0 gibt, gibt es ein Duplikat.
OMG Ponies schlug Beschränkungen für diese beiden Felder vor, was auch eine gute Idee ist, um zu verhindern, dass Sie einen Fehler mit der Datenbank machen. Wenn Sie jedoch eine duplizierte Datei einfügen, erhalten Sie mit dieser Einschränkung eine Datenbankfehlermeldung, die Sie möglicherweise nicht analysieren möchten.