PHP Data Objects kurz erklärt

Mit PHP Data Objects, kurz PDO, lässt sich der Datenbankzugriff einer Anwendung sehr stark abstrahieren. Wie das genau funktioniert möchte ich dir im Folgenden erläutern.

Bisher war es so, das bei einer Anwendung mit Datenbankzugriff die Auswahlmöglichkeit der Datenbank im Nachhinein nicht mehr gegeben war, es sei denn, die Zugriffe wurden über extra Funktionen gelöst, die sich im Nachhinein noch einfach ändern lassen. Seit der PHP Version 5.1 hat sich das alles stark vereinfacht, es wurden damals die PDOs eingeführt. Da die Version 5.1 nun schon einige Jahre auf dem Buckel hat sollte inzwischen jeder Anbieter die Data Objects unterstützen.

Die Vorteile dürften auf der Hand liegen: mit PDO brauchst du nur eine Zeile in deinem Projekt ändern, schon kannst du von MySQL zum Beispiel zu PostgreSQL wechseln.

Anwendung

Die Anwendung ist wirklich simpel:

$db = new PDO("mysql:host=localhost;dbname=datenbank", $benutzer, $passwort);

Auch andere Datenbanken sind möglich:

$db = new PDO('sqlite:pfad/zur/datenbank.sqlite3'); 
$db = new PDO('pgsql:host=localhost;port=5432;dbname=datenbank;user=benutzer;password=passwort');

Nun lassen sich ganz einfach Statements ausführen. Dabei kann man unterscheiden zwischen schreibenden (INSERT, UPDATE, DELETE) und lesenden (SELECT) Zugriffen. Letztere geben ein Rückgabewert aus und müssen dementsprechend abgefangen werden. Dafür gibt es nun zwei unterschiedliche Befehle:

$db->exec('INSERT INTO tabelle1 (id, name) values ('eine ID', 'ein Name')'); 
$rückgabe = $db->query('SELECT * FROM tabelle1'); 

Die Ausführung von Befehlen ist wie man sieht sehr einfach. Rückgabewerte lassen sich mit folgender Kurzschreibweise schleifenmäßig durchlaufen:

foreach($db->query('SELECT * FROM tabelle1') as $row) { 
//Code 
}

Fazit

Wie man sieht sind die PDOs eine wirklich einfache Möglichkeit, den Datenbankzugriff zu abstrahieren. Es gibt noch einige weitere Möglichkeiten, die ich in späteren Beiträgen vorstellen werde.

Facebook Twitter Google+ WhatsApp

von Florian Schmidt

Gründer von Netzleben. Studiert IT System Engineering am Hasso-Plattner-Institut in Potsdam. Kauft viel zu viel Technik online ein. Liebt Kekse.

Hinterlasse einen Kommentar