首页 > 数据库 >php读取access数据库

php读取access数据库

时间:2024-08-23 11:48:31浏览次数:8  
标签:读取 rs recordset 数据库 echo access php

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

 

标签:读取,rs,recordset,数据库,echo,access,php
From: https://www.cnblogs.com/wanghjun/p/18375715

相关文章

  • 利用ibd2sql直接读取mysql8数据文件数据
    MySQL8.0之后,表结构和表数据统一放到了ibd文件中,该文件包含了表的结构和索引以及数据信息。MySQL支持利用ibd2sdi来进行解析ibd文件下载地址:https://github.com/ddcw/ibd2sql/archive/refs/tags/v1.5.tar.gz[[email protected]]#ibd2sdi/data/mysqldata/data/test01/t......
  • 【待做】【ByPass系列】php的webshell绕过方法总结
    原创掌控安全EDU一、php的异或运算$a="~+d()"^"!{+{}"这个表示了$a=这两个字符串之间进行一个异或运算运算异或运算符,按二进制位进行异或运算这里的运算会把符号转化为ascii码,再转化为二进制,再转化为十进制进行运算,再把结果转化为ascii码通过这个转换的方式来绕过检测<......
  • FPGA开发——DS18B20读取温度并且在数码管上显示
    一、简介        在上一篇文章中我们对于DS18B20的相关理论进行了详细的解释,同时也对怎样使用DS18B20进行了一个简单的叙述。在这篇文章我们通过工程来实现DS18B20的温度读取并且实现在数码管伤显示。1、基本实现思路根据不同时刻的操作,我们可以使用一个状态机来实......
  • 【PHP安全】demo3:最简单的php代码加密方法
    当我们说"PHP代码加密",我理解的是将PHP代码进行混淆或加密,以防止源代码被他人轻易阅读或修改。这种需求通常用于保护商业秘密或加强代码安全性。常见的工具是使用专业的编译器和加密工具。然而,请注意,完全保护代码是不可能的,因为最终服务器仍然需要能够执行解密后的代码。以......
  • 【PHP开发】php判断手机访问还是电脑访问的方法解读
    对于电脑端和移动端分离的网站,能够准确判断识别用户使用手机访问网站还是电脑访问网站十分重要,这样才能准确分配url,让访问者能够访问到最佳的网页样式。构建能够准确识别访问者使用设备类型的网站是确保用户体验的关键一步。通过使用PHP,您可以检测用户的设备类型并相应地分配U......
  • 数据库_DuckDB-extension-读取clickhouse数据
    duckdb练习学习sql的新选择-用duckdb代替mysql个人最佳分析数据库01.duckdb和依赖的parquet、httpfs插件02.测试duckdb是否能正常使用OSS,03.在postgresql中使用pg_duckdb访问oss内的parquet文件duckdb扩展duckdb_mysql.DuckDBtodirectlyreadandwri......
  • PHP反序列化一
    1.序列化/反序列化序列化:对象转化为字节流反序列化:字节流转化为对象二者相互结合,可以轻松的存储和传输数据,使程序更具维护性2.反序列化漏洞原因是程序没有对用户输入的反序列化字符串进行检测,导致反序列化过程可以被恶意控制,进而造成代码执行、getshell等一系列不可控的......
  • uniapp [全端兼容] - 最新详细实现拍摄视频录像并可播放预览视频,调起本机摄像头开启录
    前言网上的教程乱七八糟BUG太多,本文提供优质示例代码。在uni-app全平台兼容(H5网页网站、支付宝/微信小程序、安卓App、苹果App、nvue)项目开发中,详解完成“uniApp拍摄录制视频并预览播放”,调起本机系统摄像头打开视频录制,用户点击按钮开始拍摄视频最终完成摄影,然后保......
  • ThinkPHP6定时任务同步千万级流水数据
    ThinkPHP6定时任务同步千万级流水数据多数据源配置自定义指令<?phpdeclare(strict_types=1);namespaceapp\command\SyncDtaTask;usethink\console\Command;usethink\console\Input;usethink\console\Output;usethink\Exception;usethink\facade\Db;/***......
  • 设计模式简介及PHP的35种设计模式(上)
    什么是模式??        有经验的00开发者(以及其他的软件开发者)建立了既有通用原则又有惯用方案的指令系统来指导他们编制软件。如果以结构化形式对这些问题、解决方案和命名进行描述使其系统化,那么这些原则和习惯用法就可以称为模式。例如,下面是一个模式样例:    ......