Heim  >  Artikel  >  Datenbank  >  Wie gehe ich mit doppelten Eingabefehlern in PHP für MySQL um?

Wie gehe ich mit doppelten Eingabefehlern in PHP für MySQL um?

Susan Sarandon
Susan SarandonOriginal
2024-11-12 06:35:02665Durchsuche

How to Handle Duplicate Entry Errors in PHP for MySQL?

Umgang mit doppelten Eintragsfehlern in PHP für MySQL

Beim Einfügen von Daten in eine MySQL-Datenbank mit PHP kann es zu einem doppelten Eintragsfehler kommen wenn der Primärschlüsselwert bereits vorhanden ist. Die zurückgegebene Standardfehlermeldung ist nicht benutzerfreundlich, was es schwierig macht, den Benutzer über das Problem zu informieren.

Um dieses Problem zu beheben, bietet PHP eine Möglichkeit, nach bestimmten MySQL-Fehlern zu suchen und diese entsprechend zu behandeln. Der erste Schritt besteht darin, den Fehlercode für doppelte Einträge zu identifizieren. In diesem Fall lautet der Code 1062.

Sobald Sie den Fehlercode haben, können Sie ihn verwenden, um zu überprüfen, ob die Abfrageausführung diesen bestimmten Fehler ausgelöst hat:

$result = mysqli_query($conn, 'INSERT INTO ...');
if (mysqli_errno($conn) == 1062) {
    echo 'Please enter a different value.';
}

In diesem Code $conn ist das MySQL-Verbindungsobjekt. Durch den Vergleich von mysqli_errno($conn) mit dem Fehlercode für den doppelten Schlüssel (1062) können wir feststellen, ob der Fehler aufgetreten ist. Wenn ja, zeigen wir dem Benutzer eine benutzerdefinierte Nachricht an.

Guter Programmierstil

Es ist eine gute Praxis, die Verwendung magischer Zahlen im Code, insbesondere Fehlercodes, zu vermeiden. Durch Zuweisen einer Konstante zum Fehlercode (z. B. MYSQLI_CODE_DUPLICATE_KEY) wird Ihr Code einfacher zu lesen und zu warten.

Zum Beispiel:

define('MYSQLI_CODE_DUPLICATE_KEY', 1062);

$result = mysqli_query($conn, 'INSERT INTO ...');
if (mysqli_errno($conn) == MYSQLI_CODE_DUPLICATE_KEY) {
    echo 'Please enter a different value.';
}

Das obige ist der detaillierte Inhalt vonWie gehe ich mit doppelten Eingabefehlern in PHP für MySQL um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn