Per verificare la presenza di questo errore specifico, è necessario trovare il codice di errore
. È 1062
per chiave duplicata. Quindi utilizza il risultato di errno()
da confrontare con:
mysqli_query('INSERT INTO ...');
if (mysqli_errno() == 1062) {
print 'no way!';
}
Una nota sullo stile di programmazione
Dovresti sempre cercare di evitare l'uso di numeri magici
(Lo so, sono stato io a introdurlo in questa risposta). Invece, puoi assegnare il codice di errore noto (1062
) in una costante (ad es. MYSQLI_CODE_DUPLICATE_KEY
). Questo renderà il tuo codice più facile da mantenere come condizione nel if
dichiarazione è ancora leggibile tra qualche mese quando il significato di 1062
è svanito dalla memoria :)