【问题标题】:Read data from mdb file with php使用 php 从 mdb 文件中读取数据
【发布时间】:2016-03-03 05:42:57
【问题描述】:

我正在使用 PHP 和这样的本地服务器读取 mdb 文件:

<?php
    $myapp = new \COM("word.application");
    $conn = new COM("ADODB.Connection") or die("Oops!");
    $conn->Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\Users\admin.mdb","","password");
    $data = $conn->Execute("SELECT * FROM TFTemp17");
    print "<TABLE border='1'>print "<tr>";
    print $data[4];
    print "</tr>";
    echo "</TABLE>";
?>

在这个 mbd 文件中,有一个包含行和列的表,所以直到我只读取第一行和我想要的列,但我不知道如何读取第二行。我想要的是读取某一行上的某一列(不仅是第一行),我该怎么做?

【问题讨论】:

    标签: php mysql ms-access server


    【解决方案1】:

    您必须遍历从 ADO 执行行中提取的记录集。见PHP COM手册:

    $conn = new COM("ADODB.Connection") or die("Oops!");
    $conn->Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\Users\admin.mdb","","password");
    $data = $conn->Execute("SELECT * FROM TFTemp17");
    
    echo "<TABLE border='1'>";
    echo "<tr>";
    
    $num_columns = $data->Fields->Count();
    while (!$data->EOF) {
        for ($i=0; $i < $num_columns; $i++) {
            echo "<td>".$data->Fields($i)->value."</td>";
        }
        $data->MoveNext();
    }
    
    echo "</tr>";
    echo "</TABLE>";
    
    $data->Close();
    $conn->Close();
    
    $data = null;
    $conn = null;
    

    【讨论】:

    • 我收到此错误。请指导。感谢“未找到数据源名称且未指定默认驱动程序”
    • @MindRoasterMir - 你可能有更新的版本:Microsoft Access Driver (*.mdb, *.accdb)。在 Powershell 终端中,运行 Get-OdbcDriver 以查看所有已安装的驱动程序。
    • 谢谢我检查了它没有告诉我版本。顺便说一句,我安装了 Office 2019,它是否安装了它?如果我有更新的版本怎么办?
    猜你喜欢
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    相关资源
    最近更新 更多