與ADODB和MDB2相比,PDO更高效。目前而言,實現“資料庫抽象層”任重而道遠,使用PDO這樣的“資料庫訪問抽象層”是一個不錯的選擇。
PDO->beginTransaction() — 標明復原起始點
PDO->commit() — 標明復原結束點,並執行SQL
PDO->__construct() — 建立一個PDO連結資料庫的執行個體
PDO->errorCode() — 擷取錯誤碼
PDO->errorInfo() — 擷取錯誤的資訊
PDO->exec() — 處理一條SQL語句,並返回所影響的條目數
PDO->getAttribute() — 擷取一個“資料庫連接對象”的屬性
PDO->getAvailableDrivers() — 擷取有效PDO磁碟機名稱
PDO->lastInsertId() — 擷取寫入的最後一條資料的主索引值
PDO->prepare() — 產生一個“查詢對象”
PDO->query() — 處理一條SQL語句,並返回一個“PDOStatement”
PDO->quote() — 為某個SQL中的字串添加引號
PDO->rollBack() — 執行復原
PDO->setAttribute() — 為一個“資料庫連接對象”設定屬性
PDOStatement->bindColumn() — Bind a column to a PHP variable
PDOStatement->bindParam() — Binds a parameter to the specified variable name
PDOStatement->bindValue() — Binds a value to a parameter
PDOStatement->closeCursor() — Closes the cursor, enabling the statement to be executed again.
PDOStatement->columnCount() — Returns the number of columns in the result set
PDOStatement->errorCode() — Fetch the SQLSTATE associated with the last operation on the statement handle
PDOStatement->errorInfo() — Fetch extended error information associated with the last operation on the statement handle
PDOStatement->execute() — Executes a prepared statement
PDOStatement->fetch() — Fetches the next row from a result set
PDOStatement->fetchAll() — Returns an array containing all of the result set rows
PDOStatement->fetchColumn() — Returns a single column from the next row of a result set
PDOStatement->fetchObject() — Fetches the next row and returns it as an object.
PDOStatement->getAttribute() — Retrieve a statement attribute
PDOStatement->getColumnMeta() — Returns metadata for a column in a result set
PDOStatement->nextRowset() — Advances to the next rowset in a multi-rowset statement handle
PDOStatement->rowCount() — Returns the number of rows affected by the last SQL statement
PDOStatement->setAttribute() — Set a statement attribute
PDOStatement->setFetchMode() — Set the default fetch mode for this statement
從函數列表可以看出,操作基於不同的對象,“PDO”表示的是一個資料庫連接對象(new PDO產生),“PDOStatement”表示的是一個查詢對象(PDO->query()產生)或者是一個結果集對象(PDO->prepare()產生)。
一個“資料庫連接對象”的例子,返回“PDO”:
複製代碼 代碼如下:<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', 'root', '');
?>
一個“查詢對象”的例子,返回“PDOStatement”: 複製代碼 代碼如下:<?php
$sql = "INSERT INTO `test`.`table` (`name` ,`age`)VALUES (?, ?);";
$stmt = $dbh->prepare($sql);
?>
一個“結果集對象”的例子,返回“PDOStatement”: 複製代碼 代碼如下:<?php
$sql = "SELECT * FROM `table` WHERE `name` = 'samon'";
$stmt = $dbh->query($sql);
?>