PHP如何透過ODBC來存取數據庫 - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- PHP如何透過ODBC來存取數據庫 (http://www.webasp.net/article/15/14255.htm) |
| -- 作者:未知 -- 發佈日期: 2004-10-26 |
| 使用的環境
先建立一個測試用的數據庫 接著建立一個ODBC連結 再建個測試用的PHP Script 咱們來測試吧 使用的環境 本文件主要是在Win32的環境下作說明, 您需要的是台跑Windows 9x/NT/2000的計算機, 並裝有任何一種web server和PHP3或PHP4, 且可正確執行PHP Script. 並有一種以上的SQL數據庫軟件, 例如:Access... 本文件以MS-Access數據庫來作說明, 其它種的數據庫端, 皆可以類似的方法來作ODBC連結. 先建立一個測試用的數據庫 進入MS-Access, 建立一個odbctest.mdb的檔案. 開始建立一個數據表(table). 此數據表我們給它兩個字段: id 和 name. 將此資料表命名為 Class . 接著我們輸入一些數據.例如: 接著建立一個ODBC連結 開啟 控制台 裡的 "ODBC 數據來源" . 選擇 "系統數據來源名稱" 頁. 點選 "新增..." 按鈕. 選擇你想使用的 ODBC 驅動程序. 在此請選擇 "Microsoft Access Driver", 當然若您使用其它種的數據庫端, 就選擇該數據庫的ODBC Driver. 點選 "完成" 按鈕. 接著會出現這個窗口, 來作進一步的設定. 輸入數據來源名稱為 "WebDB" . 描述的部分可以隨便輸入, 自己瞭解就可以了. 按 "選取..." 鈕, 輸入您欲連結的數據庫檔案位置. 例如: 這裡的 c:odbctest.mdb 接著再點選 "進階..." 鈕. 會出現這個畫面: 您需要輸入的部分是 : 登入名稱和密碼, 在此我們先分別設成 'webuser' 和 'webpassword'. OK了. ODBC的設定部分已經完成了. 再建個測試用的PHP Script 以下是個測試用的PHP Script內容, 請將它save起來, 例如存到您web server的文件根目錄. <? function Error_Handler( $msg, $cnx ) { echo "$msg "; // 為避免佔用連結, 在程序結束前close掉是很重要的. odbc_close( $cnx); exit(); } // 建立一個 ODBC 連結, 傳回至 $cnx $cnx = odbc_connect( 'WebDB' , 'webuser', 'webpassword' ); // 在測試時若有權限上問題, 也許你可以使用 superadmin 來存取 : // $cnx = odbc_connect( 'WebDB' , [sa login] , [sa password] ); if( ! $cnx ) { Error_handler( "在 odbc_connect 有錯誤發生" , $cnx ); } // 送出一個簡單的 odbc query . 傳回一個 odbc 指標 $cur= odbc_exec( $cnx, "select id,name from Class" ); if( ! $cur ) { Error_handler( "在 odbc_exec 有錯誤發生( 沒有指標傳回 ) " , $cnx ); } echo "<table border=1><tr><th>座號</th><th>姓名</th></tr> "; $num_row=0; // 取出成功傳回的數據 while( odbc_fetch_row( $cur ) ) { $num_row++; // 抓取 "id" 字段的數據 $id= odbc_result( $cur, 1 ); // 抓取 "name"字段的數據 $name= odbc_result( $cur, 2 ); echo "<tr><td>$id</td><td>$name</td></tr> "; } echo "<tr><td colspan=2>共 $num_row 人 </td></tr></table>"; odbc_close( $cnx); ?> 咱們來測試吧 從您的網頁瀏覽器, 開啟瀏覽這個測試用的PHP Script. 如果一切正確無誤的話, 您應該可以看到以下的數據: 座號 姓名 1 Ernest 2 Norman 3 PHP/Zend RC 4 ODBCCooler 5 我是五號 6 六號就是我 共 6 人 |
| webasp.net |