Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Datenbanken und PHP Grundkurs

Fehlerbehandlung bei PDO

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Sehen Sie nun, wie Sie Fehler bei PDO am besten behandeln. Zur Auswahl stehen drei Modi: der stille (silent) Modus, die Warnung oder die Exception.

Transkript

Wie behandelt man am besten Fehler, wenn man PDO einsetzt? PDO bietet Ihnen die Wahl zwischen drei verschiedenen Strategien. Es gibt den Silent-Modus. Da wird keine Fehlermeldung erzeugt, aber Sie können die Fehlermeldung auslesen. Es gibt den Warnungsmodus. Und Sie können sich auch eine Exception werfen lassen. Sehen wir uns das alles mal an und was der Unterschied zwischen diesen drei Strategien ist. Wenn Sie nichts machen, dann sind Sie in diesem Silent-Modus. Ich habe bewusst einen Fehler eingebaut, die Tabelle "katgorien" gibt es nicht. Und ich überprüfe jetzt den Rückgabewert von diesem "$db query". Und wenn das nicht klappt, wird mir "false" zurückgegeben. Und nur wenn es nicht gleich "false" ist, lasse ich mir die Tabelle anzeigen. Schauen wir uns das kurz an. Wir erhalten keine Ausgabe in diesem Fall. Woran liegt das, dass wir keine Ausgabe haben? Weil eben dieser "if"-Zweig nicht zutrifft. Es gibt ja eben einen Fehler dabei. Wir können uns in diesem Fall Warnungen ausgeben lassen. Dafür schreiben Sie "SETATTRIBUTE". Und dann brauchen wir die Angabe "ERRMODE_WARNING". Und wenn wir das jetzt austesten, dann erhalten wir eine Warnung, dass die Tabelle, Beispiel "katgorien", nicht existiert. Das ist korrekt, die gibt es nicht. Wir können auch den Standardmodus lassen, wo keine Warnungen erzeugt werden, und selber eine Fehlermeldung auslesen. Wichtige Informationen stehen in "errorinfo". Sehen wir uns das einmal an. Und wenn wir das aufrufen, dann kriegen wir diese Information. Und diese Information wäre natürlich interessant, eben dass die Tabelle, Beispiel "katgorien", nicht existiert. Besser und praktischer ist es eigentlich, in diesem Fall mit dem "ERRMODE_EXCEPTION" zu arbeiten. Dann können Sie das Ganze in einem "try catch"-Block machen. Und wenn es jetzt ein Problem gibt bei dem Code, der hier oben steht, dann wird eine Exception ausgelöst. Und die können Sie abfangen und sich die Meldung ausgeben lassen. Wieder habe ich einen Fehler in meinem Select. Nämlich hier steht "SELECT ALL FROM katgorien" und es wird in diesem Fall diese Exception ausgelöst. Sehen wir uns das an und dann auch die detaillierte Information, was das Problem ist. Bei PDO können Sie steuern, was im Falle eines Fehlers passieren soll. Am besten ist es, auf diesen Exception-Modus zu setzen und dann die Exception abzufangen in einem "Catch"-Block. Ansonsten können Sie auch den Standard nehmen. Da werden dann keine Fehlermeldungen ausgegeben. Sie müssen dann bei den einzelnen Befehlen immer selber prüfen, ob die "false" oder "nicht false" ergeben, und erhalten dann Informationen über den Aufruf von "errorinfo".

Datenbanken und PHP Grundkurs

Erfahren Sie alles, was Sie brauchen, um mit PHP Datenbanken anzusprechen, Daten einzutragen, zu verändern, zu löschen und abzufragen.

1 Std. 44 min (29 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:11.01.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!