ADODB安裝與Mysql連接
在PHP網(wǎng)站開發(fā)中,針對數(shù)據(jù)庫平臺移植性的解決方案,之前介紹過PEAR DB類安裝使用的PHP教程,其實(shí)使用PHP ADOdb類庫也是一種很好的解決方案,其支持的數(shù)據(jù)庫引擎更多。
文章主要介紹使用PHP ADOdb類庫具有哪些優(yōu)點(diǎn),PHP ADOdb類庫的基本安裝使用方法,以及使用PHP ADOdb建立Mysql數(shù)據(jù)庫連接的幾種方法。
使用PHP ADOdb的優(yōu)點(diǎn)
1、與PHP結(jié)合好,速度快
2、擴(kuò)展性好,對于windows平臺的程序員來說易于掌握,因?yàn)楹蚆icrosoft’s ADO的類庫比較類似
3、使用起來容易上手
4、每個版本都是在Access, MySQL, PostgreSQL, MS SQL, Oracle 11g上獨(dú)立測試,質(zhì)量保證,支持多種數(shù)據(jù)庫。
5、PHP4版本支持使用PHP ADOdb類庫來存儲session變量,便于擴(kuò)展和移植
PHP ADOdb類庫的相關(guān)文件說明
Adodb.inc.php為主要文件,使用adodb類時,只要include這個文件即可
Adodb-*.inc.php是特定的數(shù)據(jù)庫驅(qū)動程序代碼
Test.php包含測試adodb類庫的測試數(shù)據(jù)庫列表,在tests目錄下
Adodb-session.php是PHP4中的session 處理代碼
Testdatabases.inc.php包含應(yīng)用于測試的數(shù)據(jù)庫列表,被Test.php include
tute.htm是PHP ADOdbadodb類英文版使用教程。
PHP ADOdb類庫的基本安裝使用方法
1、首先需要下載PHP ADOdb類庫,當(dāng)前ADOdb類庫版本為ADOdb5
adodb類庫下載地址
2、開始PHP ADOdb類庫安裝
PHP ADOdb類庫安裝主要有兩種方式,一種是包含完整的源代碼,另一種最小化安裝方式。
首先確保運(yùn)行的PHP版本在4.0.5以上,然后解壓縮PHP ADOdb類庫文件至web服務(wù)器的相關(guān)目錄,PHP ADOdb類庫安裝就完成了。查看PHP運(yùn)行環(huán)境配置教程
PHP ADOdb類庫最小化安裝方式
在最小化安裝PHP ADOdb類庫時必須包含以下文件
adodb.inc.php
adodb-lib.inc.php
adodb-time.inc.php
drivers/adodb-$database.inc.php
license.txt
adodb-php4.inc.php
adodb-iterator.inc.php
安裝可選項(xiàng):
adodb-error.inc.php and lang/adodb-$lang.inc.php (可使用MetaError())
adodb-csvlib.inc.php (如果你打算使用緩存記錄,需要用到CacheExecute()等)
adodb-exceptions.inc.php 和 adodb-errorhandler.inc.php (如果你使用adodb處理錯誤或者PHP5中的錯誤異常).
adodb-active-record.inc.php (Active Records 號稱可以將數(shù)據(jù)庫中的表和記錄與本地的PHP對象獨(dú)立開來,讓程序員將更多的精力集中在數(shù)據(jù)處理上,而不是SQL語句,MVC的味道,呵呵)。
在完成PHP ADOdb類庫的安裝工作后,我們開始PHP ADOdb類庫的使用之旅。
PHP ADOdb使用之Mysql數(shù)據(jù)庫連接建立方法
PHP ADOdb類庫支持多種類型的數(shù)據(jù)庫,本教程首先介紹最基本的使用PHP ADOdb類庫與Mysql數(shù)據(jù)庫建立連接(connect)的方法,與PEAR DB類庫類似,PHP ADOdb類庫建立Mysql數(shù)據(jù)庫連接(connect)也有兩種方法,一種使用ADONewConnection和Connect函數(shù)建立連接,一種使用DSN建立連接。如何使用PEAR DB類?
使用PHP ADOdb建立Mysql連接方法一
1 2 3 4 5 6 7 8 9 10 11 |
<?
include('adodb5/adodb.inc.php'); $dbdriver = 'mysql'; $db = ADONewConnection($dbdriver); $db->debug = true;//調(diào)試,顯示具體的SQL語句 $db->Connect('localhost', 'root', '123456', 'test'); $rs = $db->Execute('select * from leapsoul'); print "<pre>"; print_r($rs->GetRows()); print "</pre>"; ?> |
注釋
1、在使用PHP ADOdb類庫建立Mysql數(shù)據(jù)庫連接時,你需要使用PHP ADOdb類庫的ADONewConnection($driver)函數(shù)創(chuàng)建一個連接,你可以選擇建立哪種數(shù)據(jù)庫,比如Access等,這里我使用Mysql數(shù)據(jù)庫建立連接。
2、然后你需要決定是使用永久性連接還是非永久連接,永久連接速度更快,數(shù)據(jù)庫連接不會關(guān)閉除非你使用close()函數(shù);非永久連接盡快占用的資源少,但是風(fēng)險(xiǎn)在于數(shù)據(jù)庫和web服務(wù)器的負(fù)荷會比較重。你可以根據(jù)項(xiàng)目的具體需求自行決定。
3、然后通過Execute函數(shù)執(zhí)行SQL語句,再以數(shù)組結(jié)構(gòu)顯示查詢leapsoul表中關(guān)于www.leapsoul.cn的相關(guān)信息。
知識點(diǎn):
1、NewADOConnection($driver)是ADONewConnection($driver)的別名,功能一樣,建立連接時,ADONewConnection($dbdriver)與&ADONewConnection($dbdriver)沒啥區(qū)別。
2、永久連接使用$conn->PConnect(),非永久使用$conn->Connect(),有些數(shù)據(jù)庫也支持NConnect(),此函數(shù)會強(qiáng)制創(chuàng)建新的數(shù)據(jù)庫連接
3、如果你同時創(chuàng)建了永久和非永久兩種連接,并使用相同的userid和password,PHP將會共享同一個連接,當(dāng)它們連接不同數(shù)據(jù)庫時,會出現(xiàn)問題,解決方法是對不同的數(shù)據(jù)庫總是使用不同的userid或者使用NConnect()
使用PHP ADOdb建立Mysql連接方法二
PHP ADOdb類庫從4.51版本開始支持以DSN方式連接數(shù)據(jù)庫
DSN格式如下
1 |
$driver://$username:$password@hostname/$database?options[=value]
|
options主要有以下選項(xiàng)
所有數(shù)據(jù)庫都支持的選項(xiàng):’persist’, ‘persistent’, ‘debug’, ‘fetchmode’, ‘new’ , ‘cachesecs’, ‘memcache’
Interbase/Firebird:’dialect’,'charset’,'buffers’,'role’
M’soft ADO:’charpage’
MySQL:’clientflags’
MySQLi:’port’, ’socket’, ‘clientflags’
Oci8:’nls_date_format’,'charset’
上述選項(xiàng)如果options的value沒有賦值,則默認(rèn)值為1
cachesecs決定了當(dāng)CacheExecute()和CacheSelectLimit()函數(shù)被調(diào)用,同時這兩個函數(shù)又沒有設(shè)定cache-time參數(shù)值時,recordsets緩存多少秒,默認(rèn)緩存3600秒
memcache定義了memcache的主機(jī)地址,端口以及是否使用壓縮機(jī)制。
cachesecs和memcache兩個參數(shù)是從PHP ADOdb 5.09版本開始增加的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?
include('adodb5/adodb.inc.php'); #非永久連接方式 $dsn = 'mysql://root:123456@localhost/test'; $db = NewADOConnection($dsn); if (!$db) die("Connection failed"); # 永久連接 //$dsn2 = 'mysql://root:pwd@localhost/mydb?persist'; # 非永久連接,數(shù)據(jù)庫端口為3000 // $dsn2 = 'mysqli://root:pwd@localhost/mydb?persist=0&port=3000'; $db->debug = true; $rs = $db->Execute('select * from table1'); print "<pre>"; print_r($rs->GetRows()); print "</pre>"; ?> |
知識點(diǎn):
使用DSN方式連接數(shù)據(jù)庫時NewADOConnection()內(nèi)部調(diào)用Connect()或者PConnect()函數(shù),如果連接失敗,則返回False
至此,在完成PHP ADOdb類庫安裝后,使用PHP ADOdb類庫建立Mysql數(shù)據(jù)庫連接的方法就介紹完了,大部分?jǐn)?shù)據(jù)庫建立連接的方法與Mysql數(shù)據(jù)庫建立連接方法是一樣的,下次將會介紹PHP ADOdb使用手冊之Access等數(shù)據(jù)庫的連接方法。
關(guān)鍵字:ADOdb、Mysql、連接、數(shù)據(jù)庫
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解