Die Verbindung wird durch die Erstellung einer Instanz der PDO-Basisklasse hergestellt. Unabhängig davon, welcher Treiber verwendet wird, wird der PDO-Klassenname verwendet.
<?php$dbh = neues PDO('mysql:host=localhost;dbname=test', $user, $pass);?>
Hinweis: Bei Verbindungsfehlern wird ein PDOException-Ausnahmeobjekt ausgelöst.
<?phptry { $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); foreach($dbh->query('SELECT * from FOO') as $row) { print_r ($row); } $dbh = null;} Catch (PDOException $e) { print "Error!: " $e->getMessage() . "<br/>"; die();}?>
Nach erfolgreicher Verbindung der Daten wird eine Instanz der PDO-Klasse an das Skript zurückgegeben. Diese Verbindung bleibt während des Lebenszyklus des PDO-Objekts aktiv.
Um die Verbindung zu schließen, müssen Sie das Objekt zerstören, um sicherzustellen, dass alle verbleibenden Verweise darauf gelöscht werden. Sie können der Objektvariablen einen NULL-Wert zuweisen.
Wenn Sie dies nicht tun, schließt PHP die Verbindung am Ende des Skripts automatisch.
<?php$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); // Die Verbindung hier verwenden // Jetzt ist der Lauf abgeschlossen, schließen Sie die Verbindung hier $dbh = null ;? >
Viele Webanwendungen profitieren von der Verwendung dauerhafter Verbindungen zu Datenbankdiensten.
Permanente Verbindungen werden nach Beendigung des Skripts nicht geschlossen, sondern zwischengespeichert und wiederverwendet, wenn eine weitere Skriptverbindungsanforderung mit denselben Anmeldeinformationen gestellt wird.
Persistentes Verbindungs-Caching kann Webanwendungen schneller machen, da der Mehraufwand für den Aufbau einer neuen Verbindung jedes Mal vermieden wird, wenn ein Skript mit der Datenbank kommunizieren muss.
<?php$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array( PDO::ATTR_PERSISTENT => true));?>
Hinweis: Wenn Sie dauerhafte Verbindungen verwenden möchten, müssen Sie PDO::ATTR_PERSISTENT im Treiberoptionsarray festlegen, das an den PDO-Konstruktor übergeben wird. Wenn dieses Attribut nach der Initialisierung des Objekts mit PDO::setAttribute() festgelegt wird, verwendet der Treiber keine dauerhaften Verbindungen.