Hallo,
Mir ist unklar, warum er trotz einer erfüllten Bedingung in den else-Block springt und die falsche Meldung ausgibt.
Für den Datenbankfehler hast du keinen Else-Block. Also tut dein Script so, alsob, und überschreibt die vorhandene Fehlermeldung mit einer Folgefehler-Meldung.
Gruß
Kalk