PDO - Methoden
1. Übersicht
PDO besteht aus insgesamt vier Klassen. Als da wären.
PDOPDOStatementPDOExceptionPDOTreiber
Die Treiber-Klasse ignoriere ich einfach mal, da ich (fast) immer nur mit MySQL zu tun hatte und auf die Exception-Klasse gehe ich bei
der Fehlerbehandlung ein. Für die eigentlichen Abfragen sind also nur PDO und
PDOStatement zuständig.
2. Die Aufgabenverteilung
PDO
... kümmert sich um die "normalen" Abfragen. Also Sachen wie zum Beispiel SELECT, INSERT oder DELETE.
Diese Klasse entspricht also in etwa der MySQLi-Klasse.
PDOStatement
... dagegen ist für Prepared Statements zuständig und hat somit dieselben Aufgaben wie die MySQLi_STMT-Klasse.
3. Aber
Diese ganze Sache mit den unzähligen fetch_irgendwas-Möglichkeiten wurde in PDOStatement verlagert.
Darum gibt es auch keine PDO_Result-Klasse. Allerdings ist es ohne weiteres möglich, diese Methoden auch in der
PDO-Klasse zu nutzen.
4. Die Funktionsweise
... unterscheidet sich nicht groß von MySQLi. Denn auch hier wird mit den entsprechenden Referenzvariablen gearbeitet. Es gibt dabei ein paar Feinheiten, aber auf die gehe ich peu à peu ein.
5. Unterschiede
... zu MySQLi gibt es eine ganze Menge. Ich liste mal grob die Änderungen auf.
Methoden
multi_queryist rausgeflogen (warum eigentlich?).real_connecthat ebenfalls das Zeitliche gesegnet.- Prepared Statements können viel flexibler gehandhabt werden.
Eigenschaften
affected_rowswurde entfernt und durch eine Methode ersetzt. Dazu später mehrinsert_idwurde auch gehimmelt und durch eine Methode ersetzt. Dazu ebenfalls später mehr
Konstanten
Bei MySQLi hatte ich immer den Eindruck, dass die mehr oder weniger überflüssig sind. Wie ein Kropf(f) halt. Aber bei PDO gibt es im Zusammenhang mit den einzelnen Methoden sehr viel und vor allem variable Möglichkeiten zur Steuerung.
Allerdings werde ich hier nur auf einige wenige eingehen. Für einen kompletten Überblick solltet ihr die Dokumentation zu Rate ziehen.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt