动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   PHP → 阅读文章

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

作者来源: 
阅读 1348 人次 , 2006-3-29 4:17:00 


使用的環境
先建立一個測試用的資料庫
接著建立一個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的文件根目錄.


<?

//____________________________________________________________
//
// 單位 php/zend rc (http://mark.ee.nctu.edu.tw:8888)
// 檔名 odbctest.php
//  用途 一個簡單的php程式,來測試透過odbc如何存取資料庫
// 作者 ernest (chiang deng-wei) 於 may 14, 2000
// 信箱 ernestch@ms2.url.com.tw
//____________________________________________________________


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 人

作者

本文件的作者為ernest (chiang deng-wei), 我的email是 ernestch@ms2.url.com.tw , 若您對本文件有任何使用上的問題或建議, 歡迎您到php/zend rc的php版來參與討論, 先在此竭誠的歡迎您. 衷心的希望本文件真能對phper有所幫助.

 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:PEAR:创建中间的数据库应用层
· 下一篇:MySQL中文模糊检索问题的解决方法
· PHP 编码规范(25)
· 根据数据库自动生成INSERT/UPDATE更新语句
· 第五节--克隆 -- Classes and Objects in PHP5 [5]
· Discuz!跨站大全
· PHP栏目导航类


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077