Para verificar este error específico, debe encontrar el código de error
. Es 1062
por duplicado de llave. Luego use el resultado de errno()
para comparar con:
mysqli_query('INSERT INTO ...');
if (mysqli_errno() == 1062) {
print 'no way!';
}
Una nota sobre el estilo de programación
Siempre debe tratar de evitar el uso de números mágicos
(Lo sé, fui yo quien lo introdujo en esta respuesta). En su lugar, podría asignar el código de error conocido (1062
) a una constante (por ejemplo, MYSQLI_CODE_DUPLICATE_KEY
). Esto hará que su código sea más fácil de mantener como condición en el if
la declaración todavía se puede leer en unos meses cuando el significado de 1062
se ha desvanecido de la memoria :)