参照PHPLIB中的数据类,更换数据时只要更换操作基类就可以了。

解决方案 »

  1.   

    去PHPE。NET下载一个PHPLIB看看吧。不过好像没有ACCESS的类
      

  2.   

    你的思路有问题,不仅仅是显示返回结果的问题!
    你可以使用数据库类,比如adodb<?php
    // 引入 ADODB
    include('adodb/adodb.inc.php');// 建立连线物件,根据你使用的数据库生成相应的对象
    $conn = &ADONewConnection('mssql');// 不侦错
    $conn->debug=false;// DSN 四项基本资料设定,根据你的数据库如实填写
    $mch="localhost";
    $user="sa";
    $pwd="";
    $database="test";// 连接至资料库 test
    $conn->Connect($mch, $user, $pwd, $database);// 执行 Select 由表格 t 取出资料,
    // 它会传回一个 ADORecordSet 记录集物件 $rs (RecordSet)
    // 实际上 $rs 是一个 cursor 指标,它拥有目前的记录(row 或称 record),
    // 该记录的所有栏位资料的内容,存放在 fields 这个阵列之中
    // ,以数字为索引,第一个由 0 开始
    $rs = &$conn->Execute('select * from tbl_name');// 若 $rs 为 false,则秀出错误讯息
    if (!$rs) {
        print $conn->ErrorMsg(); 
    } else {// 当尚未到达 记录集 $rs 的结束位置(EOF:End Of File)时,(即:还有记录尚未取出时)
        while (!$rs->EOF) {
            // 秀出所有栏位,$FieldCount() 会传回栏位总数
    for ($i=0, $max=$rs->FieldCount(); $i < $max; $i++) {
        print $rs->fields[$i] . ", ";
    }        // 移至下一笔记录
    $rs->MoveNext();

    // 换列
    echo "<br>\n";
        }
    }
    //$rs->Close(); // 可不用
    //$conn->Close(); // 可不用
    ?>
      

  3.   

    就是因为以前用ADODB有些问题,现在才想自己写个简单的类,解决这些问题的.
    我用ADODB时,不能向access里面插入数据.
    所以才想自己写一个类,现在遇到最大的问题用是回显了.
      

  4.   

    我用ADODB时,不能向access里面插入数据?
    先解决这个问题可能比写个类还快呢
    要说一下的是,用access好像不能有自动编号id的
      

  5.   

    ADODB很好了,不能插入数据那是你的问题
      

  6.   

    “我用ADODB时,不能向access里面插入数据”
    这多半是你没有正确转义“'”或你没有使用adodb提供的转义方法进行转义: ' ==> ''
    也可能是把保留字做字段名时没有使用正确的声明符: date ==> [date]
    也可能是在sql语句中给数值型字段的内容加上了''
    总之,目前流行的数据库类已经生存多年了。应该相信开发者们的水平(无论是数据库的操作还是php编程)比自己高很多,出错是小概率事件。
    当然,如果觉得他们提供的功能不够用或太庞大,自己写一个也无妨。to zhongjihang() 
      access 是有自动编号id的下面讨论一下你的程序
    在你的程序中你使用的不同的查询结果资源:传入的$_rs和类属性$this->_rs
    这显然是不妥当的,两者只能用一种。否则极易产生混乱操作access实际使用的是odbc函数库。
    在obdc中返回结果数组可用odbc_fetch_array或odbc_fetch_into,不过在有些版本的php中odbc_fetch_array不好用
    你可以写一个access_fetch_arrayfunction access_fetch_array($rs) {
      return odbc_fetch_array($rs);
    }

    function access_fetch_array($rs) {
      if(odbc_fetch_into($rs, $ar))
        return $ar;
      return false;
    }
    于是你的GetRow可写做
    function &GetRow($_rs){
      $fun = $dbclass.'_fetch_array';
      return $fun($rs);
    }
      

  7.   

    我用ADODB插入时只写了两个字段,是用一个特简的数据库做的实验,字段只有两个,一个ID,一个name
    id是int型,name是char型,SQL语句是这样写的:insert into tmpdb(name) values('ddd')
      

  8.   

    用odbc_fetch_array,odbc_fetch_into不行,我的access不是用odbc连接的,而是用:
    $conn=new COM("ADODB.Connection");
    $dsn="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=".realpath($_dbName).";UID=".$_uid.";Pwd=".$_pwd.";";
    $conn->open($dsn);
    连的,那又应该怎么写:
    function access_fetch_array($rs) {
      return odbc_fetch_array($rs);
    }
    段代码.