PHP PDO

Die PHP Data Objects (PDO)-Erweiterung definiert eine leichtgewichtige, konsistente Schnittstelle für den Zugriff von PHP auf Datenbanken.

PDO bietet eine Abstraktionsschicht für den Datenzugriff, was bedeutet, dass Sie unabhängig von der verwendeten Datenbank dieselben Funktionen (Methoden) zum Abfragen und Abrufen von Daten verwenden können.

PDO wurde mit PHP 5.1 veröffentlicht und ist auch in der PECL-Erweiterung für PHP 5.0 verfügbar; es kann nicht auf früheren PHP-Versionen ausgeführt werden.


PDO-Installation

Sie können die Funktion phpinfo() von PHP verwenden, um zu prüfen, ob die PDO-Erweiterung installiert ist.

Installation von PDO auf Unix-Systemen

Unter Unix oder Linux müssen Sie die folgenden Erweiterungen hinzufügen:

extension=pdo.so

Windows-Benutzer

PDO und alle wichtigen Treiber werden mit PHP als gemeinsam genutzte Erweiterungen verteilt. Um sie zu aktivieren, bearbeiten Sie einfach die Datei php.ini und fügen Sie die folgenden Erweiterungen hinzu:

extension=php_pdo.dll
Darüber hinaus gibt es die folgenden entsprechenden Datenbankerweiterungen:

;extension=php_pdo_firebird.dll
;extension=php_pdo_informix.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll

Nachdem wir diese Konfigurationen vorgenommen haben, müssen wir PHP oder den Webserver neu starten.

Als Nächstes sehen wir uns ein konkretes Beispiel an. Das Folgende ist ein Beispiel für die Verwendung von PDO, um eine Verbindung zu einer MySQL-Datenbank herzustellen:

Beispiel

<?php
$dbms='mysql';     //Datenbanktyp
$host='localhost'; //Datenbank-Hostname
$dbName='test';    //verwendete Datenbank
$user='root';      //Benutzername für die Datenbankverbindung
$pass='';          //zugehöriges Passwort
$dsn="$dbms:host=$host;dbname=$dbName";


try {
    $dbh = new PDO($dsn, $user, $pass); //ein PDO-Objekt initialisieren
    echo "Verbindung erfolgreich<br/>";
    /*Sie können auch eine Suchoperation durchführen
    foreach ($dbh->query('SELECT * from FOO') as $row) {
print_r($row); //Sie können echo($GLOBAL); verwenden, um diese Werte zu sehen
    }
    */

    $dbh = null;
} catch (PDOException $e) {
    die ("Error!: " . $e->getMessage() . "<br/>");
}
//Standardmäßig ist dies keine persistente Verbindung. Wenn Sie eine persistente Datenbankverbindung benötigen, müssen Sie am Ende einen Parameter hinzufügen: array(PDO::ATTR_PERSISTENT => true) wie folgt:
$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));

?>

Sehr einfach. Als Nächstes werfen wir einen genaueren Blick auf die spezifische Dokumentation für PHP PDO:

Andere Erweiterungen