Aby sprawdzić ten konkretny błąd, musisz znaleźć kod błędu
. To jest 1062
dla duplikatu klucza. Następnie użyj wyniku z errno()
do porównania z:
mysqli_query('INSERT INTO ...');
if (mysqli_errno() == 1062) {
print 'no way!';
}
Uwaga na temat stylu programowania
Zawsze należy unikać używania magicznych liczb
(Wiem, to ja przedstawiłem to w tej odpowiedzi). Zamiast tego możesz przypisać znany kod błędu (1062
) na stałą (np. MYSQLI_CODE_DUPLICATE_KEY
). Ułatwi to utrzymanie kodu jako warunku w if
oświadczenie jest nadal czytelne za kilka miesięcy, gdy znaczenie 1062
zniknęła z pamięci :)