PDO - Methoden
1. Übersicht
PDO besteht aus insgesamt vier Klassen. Als da wären.
PDO
PDOStatement
PDOException
PDOTreiber
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_query
ist rausgeflogen (warum eigentlich?).real_connect
hat ebenfalls das Zeitliche gesegnet.- Prepared Statements können viel flexibler gehandhabt werden.
Eigenschaften
affected_rows
wurde entfernt und durch eine Methode ersetzt. Dazu später mehrinsert_id
wurde 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