Mailinglisten-Archive |
"Björn Schotte" wrote: > > Hallo, > > * Kai Laborenz wrote: > > require("db_connect.inc"); > > $query = "select * from kategorien"; > > $kategorien = mysql_query($query); > > while ( $kat = mysql_fetch_object($kategorien)) { > > $topart = mysql_query("select * from artikel where > > Hier sollten Fehlerabfragen eingebaut werden, in etwa > so: > [...] Dies ist eine Art der Programmierung (die auch im Prinzip die "sauberere" ist und ueberall so gelehrt wird). Das Problem ist jedoch, dass man auf diese Art und Weise immer weiter nach rechts einrueckt und somit der code schnell "zu breit" wird, als dass man ihn noch ueberblicken koennte. Vor allem, wenn man viele Eingangsbedingungen hat. Daher benutze ich in der Praxis oftmals diese Form: if !($res = mysql_query($query)) { die("MySQL Fehler: ".mysql_error()); } if (mysql_num_rows($res) = 0) { die("Keine Datensaetze vorhanden."); } while ($bla=mysql_fetch_array($res)) { ... } Und so weiter. Natuerlich muss es kein die() sein, sondern die Fehlerbehandlung kann auch anders aussehen (man moechte z.b. trotzdem auch den Seiten-Footer drucken, man moechte eine Alternativroutine ausfuehren etc.). Der Vorteil ist jedoch ein Gewinn an Uebersichtlichkeit, zum einen durch die konstante Einruecktiefe, zum anderen dadurch, dass man sofort den Code darunter hat, der im Fehlerfall ausgefuehrt wird. Die Idee hab ich so mal in der PHP-Newgsgroup gelesen und fand sie ziemlich gut. Sie erfordert allerdings einiges an Umgewoehnung. Gruss, Markus
php::bar PHP Wiki - Listenarchive