《PHP編程 PDO》要點(diǎn):
本文介紹了PHP編程 PDO,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
PHP 數(shù)據(jù)對(duì)象 (PDO) 擴(kuò)展為PHP拜訪數(shù)據(jù)庫(kù)定義了一個(gè)輕量級(jí)的一致接口.
PDO 提供了一個(gè)數(shù)據(jù)拜訪抽象層,這意味著,不管使用哪種數(shù)據(jù)庫(kù),都可以用相同的函數(shù)(方法)來查詢和獲取數(shù)據(jù).
PDO隨PHP5.1刊行,在PHP5.0的PECL擴(kuò)展中也可以使用,無法運(yùn)行于之前的PHP版本.
PDO 安裝
你可以通過 PHP 的 phpinfo() 函數(shù)來查看是否安裝了PDO擴(kuò)大.
在 Unix 體系上安裝 PDO
在Unix上或Linux上你必要添加以下擴(kuò)展:
extension=pdo.so
Windows 用戶
PDO 和所有主要的驅(qū)動(dòng)作為共享擴(kuò)展隨 PHP 一起發(fā)布,要激活它們只需簡(jiǎn)單地編纂 php.ini 文件,并添加以下擴(kuò)展:
extension=php_pdo.dll
除此之外還有以下對(duì)應(yīng)的各類數(shù)據(jù)庫(kù)擴(kuò)展:
;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
在設(shè)定好這些配置后,我們必要重啟PHP 或 Web服務(wù)器.
接下來我們們來看下具體的實(shí)例,以下為使用PDO銜接MySql數(shù)據(jù)庫(kù)的實(shí)例:
<?php$dbms='mysql'; //數(shù)據(jù)庫(kù)類型$host='localhost'; //數(shù)據(jù)庫(kù)主機(jī)名$dbName='test'; //使用的數(shù)據(jù)庫(kù)$user='root'; //數(shù)據(jù)庫(kù)連接用戶名$pass=''; //對(duì)應(yīng)的暗碼$dsn="$dbms:host=$host;dbname=$dbName";try {$dbh = new PDO($dsn, $user, $pass); //初始化一個(gè)PDO對(duì)象echo "連接成功<br/>";/*你還可以進(jìn)行一次搜索操作foreach ($dbh->query('SELECT * from FOO') as $row) {print_r($row); //你可以用 echo($GLOBAL); 來看到這些值}*/$dbh = null;} catch (PDOException $e) {die ("Error!: " . $e->getMessage() . "<br/>");}//默認(rèn)這個(gè)不是長(zhǎng)連接,如果需要數(shù)據(jù)庫(kù)長(zhǎng)連接,需要最后加一個(gè)參數(shù):array(PDO::ATTR_PERSISTENT => true) 變成這樣:$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));?>
很簡(jiǎn)單吧,接下來就讓我們來具體看下PHP PDO具體闡明:
預(yù)界說常量
PHP PDO連接連接治理
PHP PDO 事務(wù)與主動(dòng)提交
PHP PDO 預(yù)處置語句與存儲(chǔ)過程
PHP PDO 差錯(cuò)與差錯(cuò)處理
PHP PDO 年夜對(duì)象 (LOBs)
PDO 類:
PDO::beginTransaction — 啟動(dòng)一個(gè)事務(wù)
PDO::commit — 提交一個(gè)事務(wù)
PDO::__construct — 創(chuàng)建一個(gè)表現(xiàn)數(shù)據(jù)庫(kù)連接的 PDO 實(shí)例
PDO::errorCode — 獲取跟數(shù)據(jù)庫(kù)句柄上一次操作相關(guān)的 SQLSTATE
PDO::errorInfo — 返回最后一次操作數(shù)據(jù)庫(kù)的差錯(cuò)信息
PDO::exec — 執(zhí)行一條 SQL 語句,并返回受影響的行數(shù)
PDO::getAttribute — 取回一個(gè)數(shù)據(jù)庫(kù)銜接的屬性
PDO::getAvailableDrivers — 返回一個(gè)可用驅(qū)動(dòng)的數(shù)組
PDO::inTransaction — 反省是否在一個(gè)事務(wù)內(nèi)
PDO::lastInsertId — 返回末了插入行的ID或序列值
PDO::prepare — 備要執(zhí)行的SQL語句并返回一個(gè) PDOStatement 工具
PDO::query — 執(zhí)行 SQL 語句,返回PDOStatement對(duì)象,可以理解為成果集
PDO::quote — 為SQL語句中的字符串添加引號(hào).
PDO::rollBack — 回滾一個(gè)事務(wù)
PDO::setAttribute — 設(shè)置屬性
PDOStatement 類:
PDOStatement::bindColumn — 綁定一列到一個(gè) PHP 變量
PDOStatement::bindParam — 綁定一個(gè)參數(shù)到指定的變量名
PDOStatement::bindValue — 把一個(gè)值綁定到一個(gè)參數(shù)
PDOStatement::closeCursor — 封閉游標(biāo),使語句能再次被執(zhí)行.
PDOStatement::columnCount — 返回成果集中的列數(shù)
PDOStatement::debugDumpParams — 打印一條 SQL 預(yù)處置命令
PDOStatement::errorCode — 獲取跟上一次語句句柄操作相關(guān)的 SQLSTATE
PDOStatement::errorInfo — 獲取跟上一次語句句柄操作相關(guān)的擴(kuò)展差錯(cuò)信息
PDOStatement::execute — 執(zhí)行一條預(yù)處置語句
PDOStatement::fetch — 從成果集中獲取下一行
PDOStatement::fetchAll — 返回一個(gè)包括結(jié)果集中所有行的數(shù)組
PDOStatement::fetchColumn — 從成果集中的下一行返回單獨(dú)的一列.
PDOStatement::fetchObject — 獲取下一行并作為一個(gè)工具返回.
PDOStatement::getAttribute — 檢索一個(gè)語句屬性
PDOStatement::getColumnMeta — 返回成果集中一列的元數(shù)據(jù)
PDOStatement::nextRowset — 在一個(gè)多行集語句句柄中推動(dòng)到下一個(gè)行集
PDOStatement::rowCount — 返回受上一個(gè) SQL 語句影響的行數(shù)
PDOStatement::setAttribute — 設(shè)置一個(gè)語句屬性
PDOStatement::setFetchMode — 為語句設(shè)置默許的獲取模式.
歡迎參與《PHP編程 PDO》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/10644.html