POD擴展是在PHP5中加入,該擴展提供PHP內(nèi)置類 PDO來對數(shù)據(jù)庫進行訪問,不同數(shù)據(jù)庫使用相同的方法名,解決數(shù)據(jù)庫連接不統(tǒng)一的問題。
PDO的特點:
性能。PDO 從一開始就吸取了現(xiàn)有數(shù)據(jù)庫擴展成功和失敗的經(jīng)驗教訓(xùn)。因為 PDO 的代碼是全新的,所以我們有機會重新開始設(shè)計性能,以利用 PHP 5 的最新特性。
能力。PDO 旨在將常見的數(shù)據(jù)庫功能作為基礎(chǔ)提供,同時提供對于 RDBMS 獨特功能的方便訪問。
簡單。PDO 旨在使您能夠輕松使用數(shù)據(jù)庫。API 不會強行介入您的代碼,同時會清楚地表明每個函數(shù)調(diào)用的過程。
運行時可擴展。PDO 擴展是模塊化的,使您能夠在運行時為您的數(shù)據(jù)庫后端加載驅(qū)動程序,而不必重新編譯或重新安裝整個 PHP 程序。例如,PDO_OCI 擴展會替代 PDO 擴展實現(xiàn) oracle 數(shù)據(jù)庫 API。還有一些用于 MySQL、PostgreSQL、ODBC 和 Firebird 的驅(qū)動程序,更多的驅(qū)動程序尚在開發(fā)。
PDO 安裝
你可以通過 PHP 的 phpinfo() 函數(shù)來查看是否安裝了PDO擴展。
1.在 Unix /Linux系統(tǒng)上安裝 PDO
在Unix上或Linux上你需要添加以下擴展:
extension=pdo.so
2.在Windows安裝pdo
PDO 和所有主要的驅(qū)動作為共享擴展隨 PHP 一起發(fā)布,要激活它們只需簡單地編輯 php.ini 文件,并添加以下擴展:
extension=php_pdo.dll
除此之外還有以下對應(yīng)的各種數(shù)據(jù)庫擴展:
;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.ini把上面所有行前面的分號去掉就可以了。
在設(shè)定好這些配置后,我們需要重啟PHP 或 Web服務(wù)器。
下面我們以mysql為例來使用pdo:
<?php $dbms='mysql'; //數(shù)據(jù)庫類型 $host='localhost'; //數(shù)據(jù)庫主機名 $dbName='test'; //使用的數(shù)據(jù)庫 $user='root'; //數(shù)據(jù)庫連接用戶名 $pass=''; //對應(yīng)的密碼 $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/>"); } //默認這個不是長連接,如果需要數(shù)據(jù)庫長連接,需要最后加一個參數(shù):array(PDO::ATTR_PERSISTENT => true) 變成這樣: $db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true)); ?>
再來看看pdo的詳細介紹:
1.預(yù)定義常量:
PDO::PARAM_BOOL (integer) | 表示布爾數(shù)據(jù)類型。 |
PDO::PARAM_NULL (integer) | 表示 SQL 中的 NULL 數(shù)據(jù)類型。 |
PDO::PARAM_INT (integer) | 表示 SQL 中的整型。 |
PDO::PARAM_STR (integer) | 表示 SQL 中的 CHAR、VARCHAR 或其他字符串類型。 |
PDO::PARAM_LOB (integer) | 表示 SQL 中大對象數(shù)據(jù)類型。 |
PDO::PARAM_STMT (integer) | 表示一個記錄集類型。當前尚未被任何驅(qū)動支持。 |
PDO::PARAM_INPUT_OUTPUT (integer) | 指定參數(shù)為一個存儲過程的 INOUT 參數(shù)。必須用一個明確的 PDO::PARAM_* 數(shù)據(jù)類型跟此值進行按位或。 |
PDO::FETCH_LAZY (integer) | 指定獲取方式,將結(jié)果集中的每一行作為一個對象返回,此對象的變量名對應(yīng)著列名。PDO::FETCH_LAZY 創(chuàng)建用來訪問的對象變量名。在 PDOStatement::fetchAll() 中無效。 |
PDO::FETCH_ASSOC (integer) | 指定獲取方式,將對應(yīng)結(jié)果集中的每一行作為一個由列名索引的數(shù)組返回。如果結(jié)果集中包含多個名稱相同的列,則PDO::FETCH_ASSOC每個列名只返回一個值。 |
PDO::FETCH_NAMED (integer) | 指定獲取方式,將對應(yīng)結(jié)果集中的每一行作為一個由列名索引的數(shù)組返回。如果結(jié)果集中包含多個名稱相同的列,則PDO::FETCH_ASSOC每個列名 返回一個包含值的數(shù)組。 |
PDO::FETCH_NUM (integer) | 指定獲取方式,將對應(yīng)結(jié)果集中的每一行作為一個由列號索引的數(shù)組返回,從第 0 列開始。 |
PDO::FETCH_BOTH (integer) | 指定獲取方式,將對應(yīng)結(jié)果集中的每一行作為一個由列號和列名索引的數(shù)組返回,從第 0 列開始。 |
PDO::FETCH_OBJ (integer) | 指定獲取方式,將結(jié)果集中的每一行作為一個屬性名對應(yīng)列名的對象返回。 |
PDO::FETCH_BOUND (integer) | 指定獲取方式,返回 TRUE 且將結(jié)果集中的列值分配給通過 PDOStatement::bindParam() 或 PDOStatement::bindColumn() 方法綁定的 PHP 變量。 |
PDO::FETCH_COLUMN (integer) | 指定獲取方式,從結(jié)果集中的下一行返回所需要的那一列。 |
PDO::FETCH_CLASS (integer) | 指定獲取方式,返回一個所請求類的新實例,映射列到類中對應(yīng)的屬性名。 【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。 相關(guān)文檔推薦這篇文章主要介紹了PHP有序表查找之插值查找算法,簡單分析了插值查找算法的概念、原理并結(jié)合實例形式分析了php實現(xiàn)針對有序表插值查找的相關(guān)操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實現(xiàn)服務(wù)端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP實現(xiàn)APP微信支付的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP實現(xiàn)的多維數(shù)組排序算法,結(jié)合實例形式對比分析了php針對多維數(shù)組及帶有鍵名的多維數(shù)組進行排序相關(guān)操作技巧與注意事項,需要的朋友可以參考下
這篇文章主要為大家詳細介紹了php結(jié)合ajaxuploadfile實現(xiàn)無刷新文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本篇文章給大家詳細介紹了PHP開發(fā)接口使用RSA進行加密解密方法,對此有興趣的朋友可以學(xué)習(xí)下。
css3
html5
canvas
域名頁
域名停放
地板
扁平
在線客服
動畫特效
按鈕切換
動畫模板
360
angular
jquery
svg
游戲模板
物流網(wǎng)站
博客
攝影
導(dǎo)航
小說源碼
郵件群發(fā)
蘋果cms
微擎微贊
微商
訂單系統(tǒng)
小程序
電影源碼
微信程序
帝國cms
養(yǎng)生網(wǎng)
挖礦網(wǎng)
java視頻
視頻打賞
thinkphp
蜘蛛池
discuz模板
淘寶客
音樂
分發(fā)系統(tǒng)
o2o
微擎
視頻教程
商城
掃碼點餐
零售系統(tǒng)
進銷存系統(tǒng)
bootstrap
商城模板
商務(wù)合作
廣告設(shè)計
驗證碼
門戶
ar
OElove
漫畫網(wǎng)
全景
視頻
區(qū)塊鏈
虛擬幣
你畫我猜
卡券
微小區(qū)
交友
小游戲
3d
刷單
小米
資源
ai
|