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