Chcete-li zkontrolovat tuto konkrétní chybu, musíte najít kód chyby
. Je to 1062
pro duplicitní klíč. Pak použijte výsledek z errno()
pro srovnání s:
mysqli_query('INSERT INTO ...');
if (mysqli_errno() == 1062) {
print 'no way!';
}
Poznámka ke stylu programování
Vždy byste se měli snažit vyhnout se používání magických čísel
(Já vím, byl jsem to já, kdo to uvedl v této odpovědi). Místo toho můžete přiřadit známý kód chyby (1062
) na konstantu (např. MYSQLI_CODE_DUPLICATE_KEY
). To usnadní údržbu vašeho kódu jako podmínky v if
příkaz je stále čitelný za několik měsíců, kdy význam 1062
se vytratil z paměti :)