【php教程】PHP PDO

來源:互聯網
上載者:User

PHP PDO

PHP 資料對象 (PDO) 擴充為PHP訪問資料庫定義了一個輕量級的一致介面。

PDO 提供了一個資料訪問抽象層,這意味著,不管使用哪種資料庫,都可以用相同的函數(方法)來查詢和擷取資料。

PDO隨PHP5.1發行,在PHP5.0的PECL擴充中也可以使用,無法運行於之前的PHP版本。

PDO 安裝

你可以通過 PHP 的 phpinfo() 函數來查看是否安裝了PDO擴充。

在 Unix 系統上安裝 PDO

在Unix上或Linux上你需要添加以下擴充:

extension=pdo.so

Windows 使用者

PDO 和所有主要的驅動作為共用擴充隨 PHP 一起發布,要啟用它們只需簡單地編輯 php.ini 檔案,並添加以下擴充:

extension=php_pdo.dll

除此之外還有以下對應的各種資料庫擴充:

;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

在設定好這些配置後,我們需要重啟PHP 或 Web伺服器。

接下來我們們來看下具體的執行個體,以下為使用PDO串連MySql資料庫的執行個體:

<?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));?>

很簡單吧,接下來就讓我們來具體看下PHP PDO具體說明:


預定義常量

PHP PDO串連串連管理

PHP PDO 事務與自動認可

PHP PDO 預先處理語句與預存程序

PHP PDO 錯誤與錯誤處理

PHP PDO 大對象 (LOBs)

PDO 類:

PDO::beginTransaction — 啟動一個事務

PDO::commit — 提交一個事務


PDO::__construct — 建立一個表示資料庫連接的 PDO 執行個體

PDO::errorCode — 擷取跟資料庫控制代碼上一次操作相關的 SQLSTATE

PDO::errorInfo — 返回最後一次操作資料庫的錯誤資訊

PDO::exec — 執行一條 SQL 陳述式,並返回受影響的行數

PDO::getAttribute — 取回一個資料庫連接的屬性

PDO::getAvailableDrivers — 返回一個可用驅動的數組

PDO::inTransaction — 檢查是否在一個事務內

PDO::lastInsertId — 返回最後插入行的ID或序列值

PDO::prepare — 備要執行的SQL語句並返回一個 PDOStatement 對象

PDO::query — 執行 SQL 陳述式,返回PDOStatement對象,可以理解為結果集

PDO::quote — 為SQL語句中的字串添加引號。

PDO::rollBack — 復原一個事務

PDO::setAttribute — 設定屬性

PDOStatement 類:

PDOStatement::bindColumn — 綁定一列到一個 PHP 變數

PDOStatement::bindParam — 綁定一個參數到指定的變數名

PDOStatement::bindValue — 把一個值綁定到一個參數

PDOStatement::closeCursor — 關閉遊標,使語句能再次被執行。

PDOStatement::columnCount — 返回結果集中的列數

PDOStatement::debugDumpParams — 列印一條 SQL 預先處理命令

PDOStatement::errorCode — 擷取跟上一次語句控制代碼操作相關的 SQLSTATE

PDOStatement::errorInfo — 擷取跟上一次語句控制代碼操作相關的擴充錯誤資訊

PDOStatement::execute — 執行一條預先處理語句

PDOStatement::fetch — 從結果集中擷取下一行

PDOStatement::fetchAll — 返回一個包含結果集中所有行的數組

PDOStatement::fetchColumn — 從結果集中的下一行返回單獨的一列。

PDOStatement::fetchObject — 擷取下一行並作為一個對象返回。

PDOStatement::getAttribute — 檢索一個語句屬性

PDOStatement::getColumnMeta — 返回結果集中一列的中繼資料

PDOStatement::nextRowset — 在一個多行集語句控制代碼中推進到下一個行集

PDOStatement::rowCount — 返回受上一個 SQL 陳述式影響的行數

PDOStatement::setAttribute — 設定一個語句屬性

PDOStatement::setFetchMode — 為語句設定預設的擷取模式。


以上就是【php教程】PHP PDO的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!


  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.