文章詳情頁(yè)
PHP如何透過(guò)ODBC來(lái)存取數(shù)據(jù)庫(kù)
瀏覽:142日期:2024-01-24 17:35:49
使用的環(huán)境 先建立一個(gè)測(cè)試用的數(shù)據(jù)庫(kù) 接著建立一個(gè)ODBC連結(jié) 再建個(gè)測(cè)試用的PHP Script 咱們來(lái)測(cè)試吧 使用的環(huán)境本文件主要是在Win32的環(huán)境下作說(shuō)明, 您需要的是臺(tái)跑Windows 9x/NT/2000的計(jì)算機(jī), 并裝有任何一種web server和PHP3或PHP4, 且可正確執(zhí)行PHP Script. 并有一種以上的SQL數(shù)據(jù)庫(kù)軟件, 例如:Access...本文件以MS-Access數(shù)據(jù)庫(kù)來(lái)作說(shuō)明, 其它種的數(shù)據(jù)庫(kù)端, 皆可以類似的方法來(lái)作ODBC連結(jié).先建立一個(gè)測(cè)試用的數(shù)據(jù)庫(kù)進(jìn)入MS-Access, 建立一個(gè)odbctest.mdb的檔案. 開(kāi)始建立一個(gè)數(shù)據(jù)表(table). 此數(shù)據(jù)表我們給它兩個(gè)字段: id 和 name.將此資料表命名為 Class .接著我們輸入一些數(shù)據(jù).例如: 接著建立一個(gè)ODBC連結(jié)開(kāi)啟 控制臺(tái) 里的 "ODBC 數(shù)據(jù)來(lái)源" . 選擇 "系統(tǒng)數(shù)據(jù)來(lái)源名稱" 頁(yè). 點(diǎn)選 "新增..." 按鈕. 選擇你想使用的 ODBC 驅(qū)動(dòng)程序. 在此請(qǐng)選擇 "Microsoft Access Driver", 當(dāng)然若您使用其它種的數(shù)據(jù)庫(kù)端, 就選擇該數(shù)據(jù)庫(kù)的ODBC Driver.點(diǎn)選 "完成" 按鈕.接著會(huì)出現(xiàn)這個(gè)窗口, 來(lái)作進(jìn)一步的設(shè)定.輸入數(shù)據(jù)來(lái)源名稱為 "WebDB" . 描述的部分可以隨便輸入, 自己了解就可以了. 按 "選取..." 鈕, 輸入您欲連結(jié)的數(shù)據(jù)庫(kù)檔案位置. 例如: 這里的 c:odbctest.mdb 接著再點(diǎn)選 "進(jìn)階..." 鈕. 會(huì)出現(xiàn)這個(gè)畫(huà)面:您需要輸入的部分是 : 登入名稱和密碼, 在此我們先分別設(shè)成 'webuser' 和 'webpassword'.OK了. ODBC的設(shè)定部分已經(jīng)完成了.再建個(gè)測(cè)試用的PHP Script 以下是個(gè)測(cè)試用的PHP Script內(nèi)容, 請(qǐng)將它save起來(lái), 例如存到您web server的文件根目錄.<? function Error_Handler( $msg, $cnx ){;;;;echo "$msg n";// 為避免占用連結(jié), 在程序結(jié)束前close掉是很重要的.;;;;odbc_close( $cnx);;;;;exit();};;;;// 建立一個(gè) ODBC 連結(jié), 傳回至 $cnx;;;;$cnx = odbc_connect( 'WebDB' , 'webuser', 'webpassword' );//;;;;在測(cè)試時(shí)若有權(quán)限上問(wèn)題, 也許你可以使用 superadmin 來(lái)存取 ://;;;;$cnx = odbc_connect( 'WebDB' , [sa login] , [sa password] );;;;;if( ! $cnx ) {Error_handler( "在 odbc_connect 有錯(cuò)誤發(fā)生" , $cnx );;;;;};;;;// 送出一個(gè)簡(jiǎn)單的 odbc query . 傳回一個(gè) odbc 指標(biāo);;;;$cur= odbc_exec( $cnx, "select id,name from Class" );;;;;if( ! $cur ) {Error_handler( "在 odbc_exec 有錯(cuò)誤發(fā)生( 沒(méi)有指標(biāo)傳回 ) " , $cnx );;;;;};;;;echo "<table border=1><tr><th>座號(hào)</th><th>姓名</th></tr>n";;;;;$num_row=0;// 取出成功傳回的數(shù)據(jù);;;;while( odbc_fetch_row( $cur ) );;;;{$num_row++;;;;;// 抓取 "id" 字段的數(shù)據(jù)$id= odbc_result( $cur, 1 );;;;;// 抓取 "name"字段的數(shù)據(jù)$name= odbc_result( $cur, 2 );echo "<tr><td>$id</td><td>$name</td></tr>n";;;;;};;;;echo "<tr><td colspan=2>共 $num_row 人 </td></tr></table>";;;;;odbc_close( $cnx);?> 咱們來(lái)測(cè)試吧從您的網(wǎng)頁(yè)瀏覽器, 開(kāi)啟瀏覽這個(gè)測(cè)試用的PHP Script.如果一切正確無(wú)誤的話, 您應(yīng)該可以看到以下的數(shù)據(jù):座號(hào) 姓名 1 Ernest 2 Norman 3 PHP/Zend RC 4 ODBCCooler 5 我是五號(hào) 6 六號(hào)就是我 共 6 人;;
標(biāo)簽:
PHP
排行榜
