你可以通过PHP的Odbc_connect方式
另外也可以这样:用ADO COM组件的方式,要注意的是,用这个方式,还是必须配置一个系统ODBC数据库源,但注意不能用像asp连接无数据源的方式连接。
以下用的是Win2000P,系统ODBC数据源名称是:odbc1,该数据库为:db1,数据库db1有一个表,名称为:table1,表table1有两个字段id(自动增长)和field1(str(10)),里面随便输入一些测试数据。
<?$conn = @new COM("ADODB.Connection") or die("ADO 连接创建失败!");$rs = @new COM("ADODB.RecordSet") or die("ADO 记录集创建失败!");$conn->open("Provider=MSDASQL.1;Data Source=odbc1;"); $rs = $conn->Execute("SELECT * FROM table1 ORDER BY id DESC;"); $row=1; echo "<table border=1>";while(!$rs->EOF){   echo "<tr>";   for($col=0;$col<$rs->Fields->Count;$col++)   {      echo "<td>";      echo $rs->Fields[$col]->Name.":".$rs->Fields[$col]->Value;      echo "</td>";   }   $row++;   echo "</tr>";   $rs->MoveNext();}echo "</table>";$rs->Close;$conn->Close;?>

解决方案 »

  1.   

    sorry 我没看到“无源方式”
    不好意思!~~~
      

  2.   

    可以实现"无数据源连接"
    用ado com
    这是我以前用过的一段代码,没问题
    var $con=new COM("ADODB.Connection");
    var $constr="driver={Microsoft Access Driver (*.mdb)};dbq=C:\\Inetpub\\wwwroot\\www\\admin\\access_mysql\\test.mdb";
    $con->Open($constr);
    var $rs=$con->Execute("select * from newall");注意:
    dbq后的库路径一定要用\\, 表转义"\"  这是和asp不同之处.
    dbq的路径你可以使用$PATH_TRANSLATED环境变量获得
    比如:
    echo addslashes(substr(getenv("PATH_TRANSLATED"),0,strrpos(getenv("PATH_TRANSLATED"),"\\")));
    等同asp的 mappath();
      

  3.   

    to:: tncboy(IWTSJ) 
    用ado,不也是“有源”的吗?
      

  4.   

    to: tncboy(IWTSJ) 
    是啊!我以前试过了,无源的好象真的不太好做哦。
    反正,到现在我也没想出什么解决的方法
      

  5.   

    还有一点:
    to: 8988(晓月) 
    你用的服务端,支持access吗?
    这很重要的,要实现无源方式一定要有那个数据库的驱动程序的
      

  6.   

    前面的用ado COM对象时要注意php的版本,要在php4.0.6以上才能正常地
    支持COM,否则访问中文字段会有乱码。
    此外,要注意服务器端的ado 的版本,低版本的ado不支持access2k数据库。
      

  7.   

    1、回答anybody1(随便编一个) 
    我装了MS office 2000中的access,在ASP下可以使用。
    如:
    Set conn=Server.CreateObject("ADODB.Connection")    
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=test.mdb"
    Set rs=Server.Createobject("ADODB.Recordset")
    rs.Open "Select * From 工资",conn,1  '只读方式打开或
    rs.Open "Select * From 工资",conn,1,3 '读写方式打开2、测试tncboy(IWTSJ)给出的代码。Error!
    我在服务器上测试以下PHP代码
    <?
    $con=new COM("ADODB.Connection"); 
    $constr="driver={Microsoft Access Driver (*.mdb)};dbq=L:\\php\\test.mdb";
    $con-> Open( $constr );
    $rs=$con->Execute("select * from 工资"); 
    .....
    ?>
    执行到$rs=$con->Execute("select * from 工资"); 时出错。
    CGI Error
    The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:3、新问题
    ASP中可以用以下方式打开数据表,PHP怎么做?特别在读写方式中可以用
    rs("user")="王小鸭"
    rs.Update
    方式更新数据表,PHP可以吗?rs.Open "Select * From 工资",conn,1  '只读方式打开或
    rs.Open "Select * From 工资",conn,1,3 '读写方式打开
      

  8.   

    $con=new COM("ADODB.Connection"); 
    $constr="driver={Microsoft Access Driver (*.mdb)};dbq=L:\\php\\test.mdb";
    $con-> Open( $constr ); 
    $rec=new COM("ADODB.Recordset");
    $rec->open("Select * From 工资",$con,3)
    echo $rec->fields["name"]->value;
    $rec->fields["name"]->value=$newvalue;
    $rec->update();
    $rec->close();
    $rec=null;
      

  9.   

    darkwing兄:
    怎么执行到 $rec->open("Select * From 工资",$con,3) 总是通不过。
    错误信息如下:
    CGI Error
    The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
      

  10.   

    to darzui(牛肉饭) 
    你所理解的无源是什么? 反正我认为8988要求的只是不注册 dsn,应该没错吧to 8988
    呵, 我用那段代码, 很正常,可以读,写mdb, 完全没问题啊!
    看你的提示信息
    数据库本身已经连接上了, 要不就是库方面的原因, 要不是sql语句原因建议:
    可以把mdb文件放到web server安装目录下某处
    可以把表名改为英文试试..
    反正有问题是希奇古怪的!
      

  11.   

    http://php.weblogs.com/ADODB
    搞明白了這個東西就無需煩惱了!
      

  12.   

    事实上,我实验时,全是E文,没有中文。
    从结果来看,的确已经与数据库连接上了,就是不能通过SQL命令。
    我在ASP下完全正确,PHP就不行了。
    而且MDB的位置移过许多地方,都不行。
    看来我还得把这篇帖子保留几天。
      

  13.   


    $rec->open("Select * From 工资",$con,3)
    少打个参数了……
    $rec->open("Select * From 工资",$con,1,3)
    或$rec->open("Select * From 工资",$con,2,3)
    另外你的php的版本是多少呀?
      

  14.   

    要4.0.6以上才能正确访问文本字段中的中文。
    (但是,image字段还是不支持)
    此外,ado太慢了……
      

  15.   

    唉!还是没办法,只能用mssql,本来想assess 具的完美的中文管理平台,而且MS的风格已经被大家所认同,想把原始数据内容交给别人完成也容易实现,这下只能一个人干了。感谢各位的支持。