PHP數(shù)據(jù)庫(kù)抽象層之PDO(一)——簡(jiǎn)介和安裝配置
PHP 數(shù)據(jù)對(duì)象?(PDO) 擴(kuò)展為PHP訪問(wèn)數(shù)據(jù)庫(kù)定義了一個(gè)輕量級(jí)的一致接口。實(shí)現(xiàn) PDO 接口的每個(gè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)可以公開(kāi)具體數(shù)據(jù)庫(kù)的特性作為標(biāo)準(zhǔn)擴(kuò)展功能。 注意利用 PDO 擴(kuò)展自身并不能實(shí)現(xiàn)任何數(shù)據(jù)庫(kù)功能;必須使用一個(gè)?具體數(shù)據(jù)庫(kù)的 PDO 驅(qū)動(dòng)?來(lái)訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)。
PDO 提供了一個(gè)?數(shù)據(jù)訪問(wèn)?抽象層,這意味著,不管使用哪種數(shù)據(jù)庫(kù),都可以用相同的函數(shù)(方法)來(lái)查詢和獲取數(shù)據(jù)。 PDO?不提供?數(shù)據(jù)庫(kù)?抽象層;它不會(huì)重寫(xiě) SQL,也不會(huì)模擬缺失的特性。如果需要的話,應(yīng)該使用一個(gè)成熟的抽象層。
從 PHP 5.1 開(kāi)始附帶了 PDO,在 PHP 5.0 中是作為一個(gè) PECL 擴(kuò)展使用。 PDO 需要PHP 5 核心的新特性,因此不能在較早版本的 PHP 上運(yùn)行。
?安裝配置在 Unix 系統(tǒng)上安裝 PDO自 PHP 5.1.0 起,PDO 和?PDO_SQLITE?驅(qū)動(dòng)默認(rèn)可用。對(duì)于自己選擇的數(shù)據(jù)庫(kù),需要啟用相應(yīng)的 POD 驅(qū)動(dòng);Note:
當(dāng)以共享擴(kuò)展(不推薦)構(gòu)建 PDO 時(shí),所有 PDO 驅(qū)動(dòng)?必須?在 PDO 自身?之后?加載。
當(dāng)作為一個(gè)共享模塊安裝 PDO 時(shí),需要更新 php.ini 文件以便當(dāng) PHP 運(yùn)行時(shí) PDO 擴(kuò)展能被自動(dòng)加載。還需要在那里啟用具體的數(shù)據(jù)庫(kù)驅(qū)動(dòng);確保它們被列在 pdo.so 那一行之后,因?yàn)?PDO 必須在具體的 數(shù)據(jù)庫(kù)擴(kuò)展被載入前初始化。如果靜態(tài)地構(gòu)建 PDO 和 具體數(shù)據(jù)庫(kù)擴(kuò)展,可以跳過(guò)此步。extension=pdo.soWindows 環(huán)境
PDO 和所有主要的驅(qū)動(dòng)作為共享擴(kuò)展隨 PHP 一起發(fā)布,要激活它們只需簡(jiǎn)單地編輯?php.ini?文件:extension=php_pdo.dll
Note:
這一步在 PHP 5.3及更高版本中不是必須的,對(duì)于 PDO 不再需要做為一個(gè) DLL 文件。
下一步,選擇其他具體數(shù)據(jù)庫(kù)的 DLL 文件,然后要么在運(yùn)行時(shí)用?dl()?載入,要么在?php.ini?中的?php_pdo.dll?后面啟用。例如:extension=php_pdo.dllextension=php_pdo_firebird.dllextension=php_pdo_informix.dllextension=php_pdo_mssql.dllextension=php_pdo_mysql.dllextension=php_pdo_oci.dllextension=php_pdo_oci8.dllextension=php_pdo_odbc.dllextension=php_pdo_pgsql.dllextension=php_pdo_sqlite.dll
那些 DLL 文件應(yīng)該在系統(tǒng)的extension_dir?中存在。
Note:
記住:更改?php.ini?文件后需要重啟 PHP 服務(wù)才能使新的配置指令生效。
相關(guān)文章:
1. html小技巧之td,div標(biāo)簽里內(nèi)容不換行2. 使用css實(shí)現(xiàn)全兼容tooltip提示框3. 詳解盒子端CSS動(dòng)畫(huà)性能提升4. CSS hack用法案例詳解5. 告別AJAX實(shí)現(xiàn)無(wú)刷新提交表單6. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera7. 讀大數(shù)據(jù)量的XML文件的讀取問(wèn)題8. 詳解瀏覽器的緩存機(jī)制9. HTML DOM setInterval和clearInterval方法案例詳解10. XML入門(mén)的常見(jiàn)問(wèn)題(一)
