这个代码测试的老的access数据库,使用的php版本是5.4,php7.4的测试不通过
测试的文件: 链接:https://pan.quark.cn/s/c4cfef0bc484 提取码:N9mF
1.引入 com_dotnet 扩展,下载phpstudy,切换版本为php5.4,然后php.ini中加入
extension=php_com_dotnet.dll
2.复制下面代码
<?php// 数据库文件路径,替换为你的Access数据库文件的完整路径 $accessDbPath = 'D:/phpstudy_pro/WWW/other/read_access_db/db/Log1.mdb';// 构建连接字符串 $connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" . $accessDbPath;// 创建ADODB连接对象 $conn = new COM("ADODB.Connection");// 尝试打开数据库连接 try {$conn->Open($connectionString);echo "数据库连接成功"; } catch (Exception $e) {// 如果连接失败,输出错误信息echo "数据库连接失败:" . $e->getMessage();die; } echo '<br />'; echo '查询的数据结果:<br />';$sql = 'SELECT * FROM fps_gamelog'; $recordset = $conn->Execute($sql); // 检查是否有记录返回 - 遍历结果集 if ($recordset) {$field_list = ['lid', 'userid', 'username', 'created','ip'];//需要读取的字段while (!$recordset->EOF) {foreach ($field_list as $f) {echo mb_convert_encoding($recordset->Fields[$f]->Value, 'UTF-8', 'GBK'),'|'; //gbk转utf-8 }echo '<br />';$recordset->MoveNext();}// 关闭记录集$recordset->Close(); } else {echo "No records found or error in query."; }//查询有多少条记录 $rs = new Com("ADODB.Recordset"); $rs->Open('SELECT * FROM fps_gamelog', $conn, 1, 1); $count = $rs->RecordCount; echo "共有{$count}条纪录";// 关闭数据库连接 $conn->Close();
3.显示效果