Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment gérer l'erreur pour les entrées en double ?

Pour vérifier cette erreur spécifique, vous devez trouver le code d'erreur . C'est 1062 pour la clé en double. Utilisez ensuite le résultat de errno() à comparer avec :

mysqli_query('INSERT INTO ...');
if (mysqli_errno() == 1062) {
    print 'no way!';
}

Remarque sur le style de programmation
Vous devez toujours chercher à éviter l'utilisation de numéros magiques (Je sais, c'est moi qui l'ai présenté dans cette réponse). Au lieu de cela, vous pouvez attribuer le code d'erreur connu (1062 ) à une constante (par exemple MYSQLI_CODE_DUPLICATE_KEY ). Cela facilitera la maintenance de votre code en tant que condition dans le if déclaration est encore lisible dans quelques mois lorsque la signification de 1062 a disparu de la mémoire :)