|
|

PHP+MYSQL无疑是绝配.
强有力的二进制(及文本操作)搭配文本用以存储效果也很好. 但有维护及二次开发问题.
特别是对我这样习惯操作数据库的人,当然 php+mysql是首选.
但从服务器支持上来看,不一定能有mysql空间.所以我考滤是不是 php+access也能实现.
在网上找资料,看了大都相同.就按所说的去做了,然而频频报错.
我将自己的经过写下来.
首先,从网上下载 Adodb包 (很多网站说是从http://php.weblogs.com/adodb,这个网址,但我根本没打开过,后来到了一个国外的PHP交流站DOWN了一个).
将文件解压,网上的文章介绍说只有 adodb.inc.php和tohtml.inc.php有用,然而实际测试中,还有两个文件少了也会报错(在使用ACCESS数据文件时)
另外这两个是adodb-time.inc.php和adodb-iterator.inc.php(这两个文件是被adodb.inc.php加载的)
好了,现在将这四个文件放在你的web目录里.
比如我现在网站根目录位于 e:\www文件的位置分别是
e:\www\inc\adodb.inc.php
e:\www\inc\tohtml.inc.php
e:\www\inc\adodb-time.inc.php
e:\www\inc\adodb-iterator.inc.php
e:\www\index.php
e:\www\test.mdb
那么在index.php里连接test.mdb代码如下:
------------------------------------------
<?
//=============================
// function connect access
// author Robin.H
// last(e) time 2005-4-16
//=============================
include('inc/tohtml.inc.php');
include('inc/adodb.inc.php');
$conn = new com("ADODB.Connection");
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("test.mdb");
$conn->Open($connstr);
?>
-----------------------------------------
而测试支持大部分ado对象及方法.如果你是写VB或ASP的,那对你来说熟悉不过了
比如定义记录集
$rs = new com("ADODB.RecordSet");
recordset的open方法
$rs->Open("select * from test",$conn,1,3);
echo $rs->recordcount;
echo $rs["filedName"];
echo $rs[0];
connection的execute方法
$conn->execute("update test set filed1=.......");
$rs->close;
$conn->close;
不过也试过一些其它方法,比如 recordset的getrows方法
$tst=$rs->getrows;
一运行,IE进度条变慢,30秒之后弹出内存只读错误
还有一些比如利用ado调用存储过程等没有测试,调用sql server存储过程失去php连接access这个文章的意义了
ADODB的官方网站为http://adodb.sourceforge.net/,因为需要将ADODB 相关的文件引入到程序中,所以下载完ADODB以后可将其解压缩到服务器下一个合适的位置,比如将ADODB的所有文件放到名为"adodb"的文件夹下。在通常情况下,在PHP脚本中只需引入核心文件"adodb.inc.php"(adodb.inc.php文件中包含了与数据库交互所必需的函数)就可以了,如:
include(' adodb/adodb.inc.php'); 通过以上代码即可完成ADODB的安装。
参考地址:http://www.koders.com/php/fid440 ... db.inc.php+download |
|