当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP如何透过ODBC来存取数据库

PHP
在PHP中利用XML技术构造远程服务(上)
PHP的FTP学习(二)[转自奥索]
提问的智慧(2)
一个很方便的 XML 类!!原创的噢
DOMXML函数笔记
提问的智慧
PHP安装问题
PHP概述.
Oracle Faq(Oracle的字符集问题)
Oracle Faq(如何在ORACLE中更改表的列名和顺序 )
Oracle Faq(Oracle TAF的配置)
ftp类(example.php)
php中文件上传的安全问题
多文件上载系统完整版
文件上传类
PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
第1次亲密接触PHP5(1)
Oracle 常见问题解答
PHP也可以當成Shell Script
用PHP读注册表

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 110 ::
收藏到网摘: n/a

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

座号 姓名
$id $name
共 $num_row 人
";

odbc_close( $cnx);

?>

咱们来测试吧

从您的网页浏览器, 开启浏览这个测试用的PHP Script.

如果一切正确无误的话, 您应该可以看到以下的数据:

座号 姓名

1 Ernest

2 Norman

3 PHP/Zend RC

4 ODBCCooler

5 我是五号

6 六号就是我

共 6 人