За да проверите за тази конкретна грешка, трябва да намерите код на грешка
. Това е 1062
за дублиран ключ. След това използвайте резултата от errno()
за сравнение с:
mysqli_query('INSERT INTO ...');
if (mysqli_errno() == 1062) {
print 'no way!';
}
Бележка относно стила на програмиране
Винаги трябва да се стремите да избягвате използването на магически числа
(Знам, аз бях този, който го представи в този отговор). Вместо това можете да зададете известния код за грешка (1062
) към константа (напр. MYSQLI_CODE_DUPLICATE_KEY
). Това ще направи кода ви по-лесен за поддържане като условие в if
изявлението все още може да се чете след няколко месеца, когато значението на 1062
изчезна от паметта :)