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 相关文章推荐
php对gzip文件或者字符串解压实例参考
Jul 25 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
Apr 13 PHP
PHP数组实例总结与说明
Aug 23 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
Aug 15 PHP
ThinkPHP中的常用查询语言汇总
Aug 22 PHP
php制作简单模版引擎
Apr 07 PHP
WordPress过滤垃圾评论的几种主要方法小结
Jul 11 PHP
利用PHP判断文件是否为图片的方法总结
Jan 06 PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 PHP
PHP使用Nginx实现反向代理
Sep 20 PHP
php装饰者模式简单应用案例分析
Oct 23 PHP
PHP7生产环境队列Beanstalkd用法详解
May 19 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
关于PHP中的Class的几点个人看法
2006/10/09 PHP
php 什么是PEAR?(第三篇)
2009/03/19 PHP
用php的ob_start来生成静态页面的方法分析
2011/03/09 PHP
php读取excel文件的简单实例
2013/08/26 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
Yii2分页的使用及其扩展方法详解
2016/05/23 PHP
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
js字符串截取函数substr substring slice使用对比
2013/11/27 Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
2015/06/16 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
angular2路由切换改变页面title的示例代码
2017/08/23 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
[47:50]Secret vs VP 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
python实现从字典中删除元素的方法
2015/05/04 Python
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
python编程使用协程并发的优缺点
2018/09/20 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
财务主管的岗位职责
2013/12/30 职场文书
理发店策划方案
2014/06/05 职场文书
授权委托书
2014/07/31 职场文书
2015年老干部工作总结
2015/04/23 职场文书
sql字段解析器的实现示例
2021/06/23 SQL Server