For at tjekke for denne specifikke fejl skal du finde fejlkode
. Det er 1062 for dubletnøgle. Brug derefter resultatet fra errno()
at sammenligne med:
mysqli_query('INSERT INTO ...');
if (mysqli_errno() == 1062) {
print 'no way!';
}
En note om programmeringsstil
Du bør altid forsøge at undgå brugen af magiske tal
(Jeg ved det, jeg var den, der introducerede det i dette svar). I stedet kan du tildele den kendte fejlkode (1062 ) til en konstant (f.eks. MYSQLI_CODE_DUPLICATE_KEY ). Dette vil gøre din kode nemmere at vedligeholde som betingelsen i if erklæringen kan stadig læses om et par måneder, når betydningen af 1062 er falmet ud af hukommelsen :)