首页 > 开发 > PHP > 正文

PHP如何透过ODBC来存取数据库

2024-05-04 22:57:57
字体:
来源:转载
供稿:网友
使用的环境
先建立一个测试用的数据库
接着建立一个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 人
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表