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 :)