Maison > base de données > tutoriel mysql > le corps du texte

Comment gérer les erreurs d'entrée en double dans PHP pour MySQL ?

Susan Sarandon
Libérer: 2024-11-12 06:35:02
original
697 Les gens l'ont consulté

How to Handle Duplicate Entry Errors in PHP for MySQL?

Gestion de l'erreur d'entrée en double dans PHP pour MySQL

Lors de l'insertion de données dans une base de données MySQL à l'aide de PHP, il est possible de rencontrer une erreur d'entrée en double si la valeur de la clé primaire existe déjà. Le message d'erreur par défaut renvoyé n'est pas convivial, ce qui rend difficile l'information de l'utilisateur sur le problème.

Pour résoudre ce problème, PHP fournit un moyen de vérifier les erreurs MySQL spécifiques et de les gérer en conséquence. La première étape consiste à identifier le code d'erreur pour les entrées en double. Dans ce cas, le code est 1062.

Une fois que vous avez le code d'erreur, vous pouvez l'utiliser pour vérifier si l'exécution de la requête a déclenché cette erreur particulière :

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

Dans ce code, $conn est l'objet de connexion MySQL. En comparant mysqli_errno($conn) avec le code d'erreur de clé en double (1062), nous pouvons déterminer si l'erreur s'est produite. Si tel est le cas, nous affichons un message personnalisé à l'utilisateur.

Bon style de programmation

C'est une bonne pratique d'éviter d'utiliser des nombres magiques dans le code, en particulier les codes d'erreur. L'attribution d'une constante au code d'erreur (par exemple, MYSQLI_CODE_DUPLICATE_KEY) rendra votre code plus facile à lire et à maintenir.

Par exemple :

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.';
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal