Para verificar esse erro específico, você precisa encontrar o código de erro . É
1062
para chave duplicada. Em seguida, use o resultado de errno()
para comparar com:mysqli_query('INSERT INTO ...');
if (mysqli_errno() == 1062) {
print 'no way!';
}
Uma observação sobre o estilo de programação
Você deve sempre evitar o uso de números mágicos (Eu sei, fui eu que o apresentei nesta resposta). Em vez disso, você pode atribuir o código de erro conhecido (
1062
) para uma constante (por exemplo, MYSQLI_CODE_DUPLICATE_KEY
). Isso tornará seu código mais fácil de manter como a condição no if
declaração ainda é legível em alguns meses quando o significado de 1062
sumiu da memória :)