PHP PDO類(lèi)解決數(shù)據(jù)庫(kù)連接問(wèn)題
對(duì)于初次接觸PHP語(yǔ)言的新手們可能對(duì)于PHP語(yǔ)言中各種內(nèi)置類(lèi)的概念還不是很清楚。下面我們就來(lái)介紹一下PHP PDO類(lèi)的相關(guān)知識(shí)。#t#
POD擴(kuò)展是在PHP5中加入,該擴(kuò)展提供PHP PDO類(lèi)來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),不同數(shù)據(jù)庫(kù)使用相同的方法名,解決數(shù)據(jù)庫(kù)連接不統(tǒng)一的問(wèn)題。
PHP PDO類(lèi)的目標(biāo)
提供一種輕型、清晰、方便的 API
統(tǒng)一各種不同 RDBMS 庫(kù)的共有特性,但不排除更高級(jí)的特性。
通過(guò) PHP 腳本提供可選的較大程度的抽象/兼容性。
PHP PDO類(lèi)的特點(diǎn):
性能。PDO 從一開(kāi)始就吸取了現(xiàn)有數(shù)據(jù)庫(kù)擴(kuò)展成功和失敗的經(jīng)驗(yàn)教訓(xùn)。因?yàn)?PDO 的代碼是全新的,所以我們有機(jī)會(huì)重新開(kāi)始設(shè)計(jì)性能,以利用 PHP 5 的***特性。
能力。PDO 旨在將常見(jiàn)的數(shù)據(jù)庫(kù)功能作為基礎(chǔ)提供,同時(shí)提供對(duì)于 RDBMS 獨(dú)特功能的方便訪問(wèn)。
簡(jiǎn)單。PDO 旨在使您能夠輕松使用數(shù)據(jù)庫(kù)。API 不會(huì)強(qiáng)行介入您的代碼,同時(shí)會(huì)清楚地表明每個(gè)函數(shù)調(diào)用的過(guò)程。
運(yùn)行時(shí)可擴(kuò)展。PDO 擴(kuò)展是模塊化的,使您能夠在運(yùn)行時(shí)為您的數(shù)據(jù)庫(kù)后端加載驅(qū)動(dòng)程序,而不必重新編譯或重新安裝整個(gè) PHP 程序。例如,PDO_OCI 擴(kuò)展會(huì)替代 PDO 擴(kuò)展實(shí)現(xiàn) oracle 數(shù)據(jù)庫(kù) API。還有一些用于 MySQL、PostgreSQL、ODBC 和 Firebird 的驅(qū)動(dòng)程序,更多的驅(qū)動(dòng)程序尚在開(kāi)發(fā)。 [separator]
安裝PHP PDO類(lèi)
我這里是WINDOWS下開(kāi)發(fā)用的PDO擴(kuò)展,要是你要在Linux下安裝配置,請(qǐng)到別的地方尋找。
版本要求:php5.1以及以后版本的程序包里已經(jīng)帶了;php5.0.x則要到pecl.php.net下載,放到你的擴(kuò)展庫(kù),就是PHP所在的文件夾的ext文件夾下;手冊(cè)上說(shuō)5.0之前的版本不能運(yùn)行PDO擴(kuò)展。
配置:
修改你的php.ini配置文件,使它支持pdo.(php.ini這個(gè)東西沒(méi)有弄懂的話,先弄清楚,要修改調(diào)用你的phpinfo()函數(shù)所顯示的那個(gè)php.ini)把extension=php_pdo.dll前面的分號(hào)去掉,分毫是php配置文件注釋符號(hào),這個(gè)擴(kuò)展是必須的。往下還有
;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 PDO類(lèi)擴(kuò)展所對(duì)應(yīng)的數(shù)據(jù)庫(kù)是:
Driver name Supported databases
PDO_DBLIB FreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRD Firebird/Interbase 6
PDO_INFORMIX IBM Informix Dynamic Server
PDO_MYSQL MySQL 3.x/4.x
PDO_OCI Oracle Call Interface
PDO_ODBC ODBC v3 (IBM DB2, unixODBC and win32 ODBC)
PDO_PGSQL PostgreSQL
PDO_SQLITE SQLite 3 and SQLite 2
你要使用哪種數(shù)據(jù)庫(kù),只要把相應(yīng)的擴(kuò)展前的注釋符號(hào)";"去掉就可以了。