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 相关文章推荐
如何将一个表单同时提交到两个地方处理
Oct 09 PHP
网页游戏开发入门教程三(简单程序应用)
Nov 02 PHP
php中存储用户ID和密码到mysql数据库的方法
Feb 06 PHP
PHP设计模式之迭代器模式的深入解析
Jun 13 PHP
PHP实现把数字ID转字母ID
Aug 12 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
php中smarty变量修饰用法实例分析
Jun 11 PHP
php 运算符与表达式详细介绍
Nov 30 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 PHP
PHP 验证身份证是否合法的函数
Feb 09 PHP
PHP fopen函数用法实例讲解
Feb 15 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 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
用Flash图形化数据(一)
2006/10/09 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
laravel数据库查询结果自动转数组修改实例
2021/02/27 PHP
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
jquery的 filter()方法使用教程
2018/03/22 jQuery
官方推荐react-navigation的具体使用详解
2018/05/08 Javascript
使用element-ui table expand展开行实现手风琴效果
2019/03/15 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
2019/09/19 Javascript
如何利用Fabric自动化你的任务
2016/10/20 Python
Python 数据结构之堆栈实例代码
2017/01/22 Python
python PyTorch参数初始化和Finetune
2018/02/11 Python
详解python实现线程安全的单例模式
2018/03/05 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
Django Aggregation聚合使用方法解析
2019/08/01 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
2019/08/19 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
2020/02/28 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
Python调用JavaScript代码的方法
2020/10/27 Python
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
SQL数据库笔试题
2016/03/08 面试题
机械设计及其自动化专业推荐信
2013/10/31 职场文书
大学生自我鉴定
2013/12/08 职场文书
幼儿园实习自我鉴定
2013/12/15 职场文书
生育关怀行动实施方案
2014/03/26 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
学生夜不归宿检讨书
2014/09/23 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
电影雷锋观后感
2015/06/10 职场文书
交通处罚决定书
2015/06/24 职场文书
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android
Android Studio实现带三角函数对数运算功能的高级计算器
2022/05/20 Java/Android
MySQL数据库之存储过程 procedure
2022/06/16 MySQL