dedlfix: Fehlerabfangen und darauf reagieren

Beitrag lesen

Hi!

Interessant, wenn man also mit sagen wir mal 3 Abfragen hintereinander arbeitet. Müsste man sie dann jedesmal so etwa abfragen?

Das gleiche Szenario mit der if-Verschachtlung hast du bereits mit einer Abfrage, denn da sind schon drei Funktionen enthalten, die alle Fehler liefern können: mysql_connect(), mysql_select_db(), mysql_query(). Mit mysqli wird es nur um einen Schritt einfacher, weil da das Auswählen der Datenbank beim Connect erfolgen kann. Allerdings kann es da auch noch komplexer werden, wenn man Prepared Statements verwendet.

  1. Datenbankabfrage
       if OK dann weiter
       2.Datenbankabfrage
           if OK dann weiter
           3.Datenbankabfrage
           if OK dann FERTIG

Wenn man nur dreimal Query ohne Connect betrachtet, ist jedoch die Frage, ob eine Verschachtlung in der Form fachlich sinnvoll ist. Wenn die weiteren Abfragen von der vorhergehenden abhängig ist, dann ja. Wenn es egal ist, ob eine misslingt, muss man das natürlich nicht so schachteln, sondern kann es in gleicher Verschachtlungsebene ausführen. (Diese Ebene natürlich unterhalb der Connect/Select-DB-Ebenen angesiedelt, denn davon ist ja jede Query abhängig).

Sieht aufwendig aus? Ja, wenn man robuste Programme schreiben will, die auf alle möglichen Fehlerzustände Rücksicht nehmen kann der Code zur Fehlerbehandlung sehr leicht mehr werden als der Code, der für die reine fachliche Funktionalität benötigt wird.

Lo!