• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
孤独的DNA
博客园    首页    新随笔    联系   管理    订阅  订阅

php读取access数据库

这个代码测试的老的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.显示效果

 

posted @ 2024-08-23 11:51  孤独的DNA  阅读(169)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3