PHP PDO
Die PHP Data Object (PDO)-Erweiterung definiert eine schlanke, konsistente Schnittstelle für PHP für den Zugriff auf Datenbanken.
PDO bietet eine Abstraktionsschicht für den Datenzugriff, was bedeutet, dass unabhängig von der verwendeten Datenbank dieselben Funktionen (Methoden) zum Abfragen und Abrufen von Daten verwendet werden können.
PDO wird mit PHP5.1 veröffentlicht und kann auch in der PECL-Erweiterung von PHP5.0 verwendet werden. Es kann nicht auf früheren PHP-Versionen ausgeführt werden.
PDO-Installation
Sie können über die PHP-Funktion phpinfo() überprüfen, ob die PDO-Erweiterung installiert ist.
PDO auf Unix-Systemen installieren
Unter Unix oder Linux müssen Sie die folgenden Erweiterungen hinzufügen:
extension=pdo.so
Windows-Benutzer
PDO und alle Haupttreiber werden mit PHP als gemeinsame Erweiterungen veröffentlicht. 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 verschiedenen 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 schauen wir uns konkrete Beispiele an. Das Folgende ist ein Beispiel für die Verwendung von PDO zum Herstellen einer Verbindung mit einer MySql-Datenbank: Es ist ganz einfach PHP im Detail. PDO-spezifische Anweisungen: Vordefinierte Konstanten PHP PDO-Verbindungsverwaltung PHP PDO-Transaktion und automatische Übermittlung PHP PDO vorbereitete Anweisungen und gespeicherte Prozeduren PHP PDO-Fehler und Fehlerbehandlung PHP PDO große Objekte (LOBs) PDO-Klasse: PDO::beginTransaction – Eine Transaktion starten PDO::commit – Eine Transaktion festschreiben PDO::__construct – Eine Datenbankverbindung erstellen PDO-Instanz PDO::errorCode – Ruft den SQLSTATE ab, der sich auf die letzte Operation des Datenbank-Handles bezieht PDO::errorInfo – Gibt die Fehlerinformationen der letzten Datenbankoperation zurück PDO: :exec – Führt eine SQL-Anweisung aus und gibt die Anzahl der betroffenen Zeilen zurück PDO::getAttribute – Ruft die Attribute einer Datenbankverbindung ab PDO::getAvailableDrivers – Gibt ein Array von zurück Verfügbare Treiber PDO::inTransaction – Prüfen, ob es sich um eine Transaktion handelt PDO::lastInsertId – Gibt die ID oder den Sequenzwert der zuletzt eingefügten Zeile zurück PDO: :prepare – Vorbereiten, Ausführen der SQL-Anweisung und Zurückgeben eines PDOStatement-Objekts PDO::query – Ausführen der SQL-Anweisung und Zurückgeben des PDOStatement-Objekts, das als Ergebnismenge verstanden werden kann PDO: :quote – ist das Zeichen in der SQL-Anweisung. Fügen Sie der Zeichenfolge Anführungszeichen hinzu. PDO::rollBack – Rollback einer Transaktion PDO::setAttribute – Attribute festlegen PDOStatement-Klasse: PDOStatement::bindColumn – Binden Sie eine Spalte an eine PHP-Variable PDOStatement::bindParam – Binden Sie einen Parameter an den angegebenen Variablennamen PDOStatement::bindValue – Binden Sie einen Wert an einen Parameter PDOStatement::closeCursor – Schließen Sie den Cursor, damit die Anweisung erneut ausgeführt werden kann. PDOStatement::columnCount – Gibt die Anzahl der Spalten im Ergebnissatz zurück PDOStatement::debugDumpParams – Gibt einen SQL-Vorverarbeitungsbefehl aus PDOStatement::errorCode – Ruft den letzten ab Anweisung SQLSTATE im Zusammenhang mit Handle-Operationen PDOStatement::errorInfo – Erhalten Sie erweiterte Fehlerinformationen im Zusammenhang mit der letzten Anweisungs-Handle-Operation PDOStatement::execute – Führen Sie eine vorbereitete Anweisung aus PDOStatement ::fetch – Holen Sie sich die nächste Zeile aus der Ergebnismenge PDOStatement::fetchAll – Gibt ein Array zurück, das alle Zeilen in der Ergebnismenge enthält PDOStatement::fetchColumn – Gibt die nächste Zeile aus zurück die Ergebnismenge einzeln einer Spalte. PDOStatement::fetchObject – Ruft die nächste Zeile ab und gibt sie als Objekt zurück. PDOStatement::getAttribute – Ein Anweisungsattribut abrufen PDOStatement::getColumnMeta – Metadaten für eine Spalte in einem Ergebnissatz zurückgeben PDOStatement::nextRowset – In einem Multi- Rowset-Anweisung Gehe zum nächsten Rowset im Handle PDOStatement::rowCount – Gibt die Anzahl der Zeilen zurück, die von der vorherigen SQL-Anweisung betroffen sind PDOStatement::setAttribute – Legt ein Anweisungsattribut fest PDOStatement::setFetchMode – Legen Sie den Standardabrufmodus für Anweisungen fest. Das Obige ist der Inhalt von [PHP-Tutorial] PHP PDO. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)! <?php
$dbms='mysql'; //数据库类型
$host='localhost'; //数据库主机名
$dbName='test'; //使用的数据库
$user='root'; //数据库连接用户名
$pass=''; //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";
try {
$dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象
echo "连接成功<br/>";
/*你还可以进行一次搜索操作
foreach ($dbh->query('SELECT * from FOO') as $row) {
print_r($row); //你可以用 echo($GLOBAL); 来看到这些值
}
*/
$dbh = null;
} catch (PDOException $e) {
die ("Error!: " . $e->getMessage() . "<br/>");
}
//默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:
$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));
?>