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