Hi!
Ich empfehle, die DB-Anbindung so früh wie möglich zu machen noch vor der ersten (HTML)Ausgabe.
So früh wie möglich ist eigentlich nicht sinnvoll. Erst einmal die Eingabedaten prüfen. Wenn die für eine Weiterverarbeitung nicht geeignet sind, kann man sich das DB-Handling ganz sparen.
Weil: Im Fall einer Nichtverfügbarkeit der DB-Anbindung macht das die Umleitung auf eine Fehlerseite einfacher.
Warum eine Fehlerseite? Nun, die Betonung lege ich auf _eine_.
Warum eine extra Seite? Das sieht aus HTTP-Sicht unsinnig aus. Statt dem erwarteten Ergebnis bekommt der Client ein 302 und anschließend ein 200. Ein 404 statt 200 wäre noch seltsamer.
Was im EVA-Prinzip nicht so gut beim Besucher ankommen würde, wäre eine Meldung, dass die DB-Anbindung nicht funktioniert, nachdem Punkt "E" bereits erfolgt ist.
Deswegen gibt man ja nicht sofort und möglichst noch mit die() die Meldung aus, sondern sammelt sie an geeigneter Stelle (eine Variable $error oder auch ein Array für mehrere Meldungen), überspringt wenn es sinnvoll ist den Gut-Fall-Verarbeitungspfad und geht zum A-Teil über. Der A-Teil weiß nur anhand des vorhandenen Inhalts von $error, ob im BODY oder Content-DIV oder wo auch immer statt des eigentlichen Ergebnisses die Fehlermeldung(en) auszugeben ist/sind.
Lo!