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


Posted in PHP onOctober 09, 2006

使用的环境
先建立一个测试用的数据库
接着建立一个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 人  

PHP 相关文章推荐
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
Jun 03 PHP
php密码生成类实例
Sep 24 PHP
PHP中error_log()函数的使用方法
Jan 20 PHP
php多重接口的实现方法
Jun 20 PHP
在PHP中使用FastCGI解析漏洞及修复方案
Nov 10 PHP
PHP实现的蚂蚁爬杆路径算法代码
Dec 03 PHP
php采集神器cURL使用方法详解
Feb 19 PHP
thinkphp框架下实现登录、注册、找回密码功能
Apr 06 PHP
PHP上传图片类显示缩略图功能
Jun 30 PHP
php微信支付之公众号支付功能
May 30 PHP
Yii框架where查询用法实例分析
Oct 22 PHP
PHP Ajax跨域问题解决方案代码实例
Aug 01 PHP
在线短消息收发的程序,不用数据库
Oct 09 #PHP
PHP网站提速三大“软”招
Oct 09 #PHP
用PHP发电子邮件
Oct 09 #PHP
基于qmail的完整WEBMAIL解决方案安装详解
Oct 09 #PHP
一段php加密解密的代码
Oct 09 #PHP
PHP开发文件系统实例讲解
Oct 09 #PHP
用PHP读取IMAP邮件
Oct 09 #PHP
You might like
最常用的8款PHP调试工具
2014/07/06 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
php+ajax实时输入自动搜索匹配的方法
2014/12/26 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
2014/07/27 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
2016/11/22 Javascript
jQuery内容筛选选择器实例代码
2017/02/06 Javascript
简单实现js菜单栏切换效果
2017/03/04 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
详解Angular4 路由设置相关
2017/08/26 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
解决vue打包之后静态资源图片失效的问题
2018/02/21 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
JS实现使用POST方式发送请求
2019/08/30 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
python实现隐马尔科夫模型HMM
2018/03/25 Python
python常用函数与用法示例
2019/07/02 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
pytorch中的inference使用实例
2020/02/20 Python
css3 线性渐变和径向渐变示例附图
2014/04/08 HTML / CSS
CSS3区域模块region相关编写示例
2015/08/28 HTML / CSS
英国领先的票务代理商之一:The Ticket Factory
2019/02/09 全球购物
中医临床专业自我鉴定范文
2014/01/15 职场文书
校庆筹备方案
2014/03/30 职场文书
爱心募捐通知范文
2015/04/27 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书