PHP如何透過ODBC來存取資料庫

來源:互聯網
上載者:User

使用的環境
先建立一個測試用的資料庫
接著建立一個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 \n";
// 為避免佔用連結, 在程式結束前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>\n";
$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>\n";
}

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 人

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.