Hauptmenü

Untermenü

PDO - Methoden - Die PDOStatement-Klasse

1. Eine gute Nachricht

Bei dieser Klasse haben sich die PHP-Entwickler mal so richtig ins Zeug gelegt und viele Verbesserungen vorgenommen, die einem die Arbeit wirklich erleichtern.

Die schlechte Nachricht

... ist, dass man sich im Vergleich zu MySQLi sehr stark umorientieren muss, eben weil vieles anders ist als bei MySQli. Aber keine Angst, das schaffen wir schon.

2. Prepared Statements ausführen

Am grundsätzlichen Prinzip hat sich natürlich nichts geändert. Die Reihenfolge ist dieselbe.

3. Vorbereiten

Das geschieht wie gehabt mit prepare. Auch an der Referenzvariablen hat sich nichts geändert.


$pdo  = new PDO($server$user$password);
$query '...';
$stmt  $pdo -> prepare($query);


Genau wie query liefert auch prepare ein Objekt der PDOStatement-Klasse zurück. Und über diese Variable steuern wir dann die entsprechenden Methoden an.

4. Werte setzen

Hier hat sich im Vergleich zu MySQLi so viel getan, dass ich auf die Details erst im kommenden Abschnitt eingehe. Vom Prinzip her läuft das nach wie vor so.


$pdo   = new PDO($server$user$password);
$query 'SELECT bla FROM blubb WHERE id > [Platzhalter]';
$stmt  $pdo -> prepare($query);
$stmt -> bindFunktion([Platzhalter], [Variable], [TYP]);

Für die Merkbefreiten

Die bindFunktion gibt es natürlich nicht. In diesem Beispiel ist das nur ein Alias für die Methoden, die tatsächlich existieren. Aber wie schon gesagt, das kommt später.

5. Ausführung

Das geschieht wie gehabt mittels der Methode execute. Ein komplettes Prepared Statement sieht also prinzipiell so aus.


$pdo   = new PDO($server$user$password);
$query 'SELECT bla FROM blubb WHERE id > ?';
$stmt  $pdo -> prepare($query);
$stmt -> bindFunktion([Platzhalter], [Variable], [TYP]);
$stmt -> execute();

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt