| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • js控制excel打印完美解决方案

  • javascript表单之间的数…

  • PHP与javascript对多项选…

  • javascript Web页面内容…

  • javascript模拟ACDSEE简…

  • TreeView节点互斥,autopostb…

  • 用javascript连接access…

  • 一行代码生成Google SiteMap

  • 在网页里做类似window右键的…

  • 仿Office 2003的工具条

  • Q
    您现在的位置: 我是IT人 >> 网站制作 >> php >> 文章正文
    PHP中通过ADO调用Access数据库         
    PHP中通过ADO调用Access数据库
    作者:网络 文章来源:转载 点击数: 更新时间:2005-8-13
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:


    我看了那篇《怎样在PHP中通过ADO调用Asscess数据库和COM程序》文章后,马上作了测试,结果失败了。伤心是不是。

    怎么办?我只好去PHP官方网站求助,皇天不负有心人,终于我找到了答案——

    具体的解决方法如下:
    (1)进入http://php.weblogs.com/adodb,下载相应的ZIP包;同MICROSOFT公司的ADO一样,该东东用PHP实现ADO同各种各样数据库打交道(太好了,所有类型的数据库都能处理)。

    (2)解包,里面文件很多,不过有用的只有ohtml.inc.php和adodb.inc.php,把它们复制到相应目录下(或是安装php4的缺省目录下c:\php4\peer\,或是当前运行程序目录下,视include()函数而定);

    (3)然后在本鸡(错误字一个,是机)的c:\myphp目录下(iis下设置通过http://localhost/jhk来访问),造了一个名为test.mdb的access库,里头再造个experts的表……。为了通过DSN来访问,我把刚才的ACCESS库在DSN中取名test。

    (4)运行。看着说明书我造了这么个程序:
    dbtest.php,内容如下:
    <?php
    include('tohtml.inc.php'); // load code common to ADODB
    include('adodb.inc.php'); // load code common to ADODB
    $conn = &ADONewConnection('access'); // create a connection
    $conn->PConnect('test');// connect to MySQL, agora db
    $sql = 'select name, group1 from experts';
    $rs = $conn->Execute($sql);
    rs2html($rs,'border=2 cellpadding=3',array('Customer Name','Customer ID'));
    $rs->Close(); // optional
    $conn->Close(); // optional
    ?>

    然后,IE中打入:http://localhost/jhk/dbtest.php
    唉!结果出来了。 令人基本满意!!

    (5) 接着,我又想:还要设置DSN,烦不烦!绕过DSN应如何解决?因为在asp中,我习惯用conn.open("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("../nydatabase.mdb"))来处理mdb库,那速度快呀!

    ?……想了又想,看了又看……。

    找找找,……,嘿嘿,终于在testdatabases.inc.php 中找到了答案! 我再把刚才的程序改编:
    <?php
    include('tohtml.inc.php'); // load code common to ADODB
    include('adodb.inc.php'); // load code common to ADODB
    $db = &ADONewConnection("ado_access");
    print "<h1>Connecting $db->databaseType...</h1>";
    $access = 'test.mdb';
    $myDSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;'.'DATA SOURCE='. $access . ';';.'USER ID=;PASSWORD=;';

    if (@$db->PConnect($myDSN, "", "", "")) {
    print "ADO version=".$db->_connectionID->version."<br>";
    $sql = 'select name, group1 from experts';
    $rs = $db->Execute($sql);
    rs2html($rs,'border=2 cellpadding=3',array('Customer Name','Customer ID'));
    } else print "ERROR: Access test requires a Access database $access".'<BR>'.$db->ErrorMsg();
    ?>

    运行。
    一切搞定!

    [1]

    文章录入:小秦    责任编辑:小秦 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |