php操作access数据库的方法详解


Posted in PHP onFebruary 22, 2017

本文实例讲述了php操作access数据库的方法。分享给大家供大家参考,具体如下:

在PHP网站开发中,PHP与Mysql是最好的组合,但是当你想将其他平台的网站移植到PHP平台时,必然遇到移植性的问题,如ASP+ACCESS平台如何移植?首当其冲便是PHP连接Access数据库问题,在不改变数据库的情况下,PHP如何与Access数据库建立连接?

PHP提供多种连接数据库解决方案,在此详解如何使用PHP ADOdb、PDO、ODBC与Access数据库建立连接的代码实例,作为抛砖引玉。

准备工作

使用OFFICE工具建立Access数据库文件

一、使用PHP ADOdb连接Access数据库

1、首先你需要安装PHP ADOdb类库。

2、使用PHP ADOdb连接Access数据库代码如下

<?php
  include('adodb5/adodb.inc.php');
  $db =& ADONewConnection('access');
  $dsn = "Driver={Microsoft Access Driver (*.mdb)};Dbq=".realpath("access.mdb").";Uid=;Pwd=;";
  $db->Connect($dsn);
  $rs = $db->Execute('select * from web');
  print "<pre>";
  print_r($rs->GetRows());
  print "</pre>";
?>

说明:与使用PHP ADOdb与Mysql数据库建立连接类似,首先把ADOdb类库包含进来,然后调用ADONewConnection、Connect、Execute与Access数据库建立连接并执行查询操作。

二、使用PHP PDO连接Access数据库

PDO功能需PHP5以上支持,在使用PDO之前你必须确保安装了PDO功能,如何配置安装PDO呢?

只要在PHP.INI配置文件中找到extension_dir,使之指向扩展库目录地址,同时去除你想要使用的PDO驱动DLL之前的分号(;),重启Apache,PDO就算安装好了。这里由于我们使用PDO连接Access数据库,所以至少确保php_pdo.dll,php_pdo_odbc.dll能支持。

使用PDO连接Access数据库代码实例

<?php
  $db = new PDO("odbc:driver={microsoft access driver (*.mdb)};dbq=".realpath("access.mdb")) or die("Connect Error");
  $rs = $db->query('select * from web');
  print "<pre>";
  print_r($rs->fetchAll());
  print "</pre>";
?>

说明:首先初始化PDO对象,建立PHP与Access数据库之间的连接,然后通过PDO query函数执行查询操作。

三、使用ODBC连接Access数据库

使用ODBC连接Access数据库代码实例

<?php
  $dsn = "DRIVER=Microsoft Access Driver (*.mdb);dbq=".realpath("access.mdb");
  $conn = @odbc_connect($dsn,"","",SQL_CUR_USE_ODBC ) or die ("Connect Error!");
  $sql = "select * from web";
  $rs = @odbc_do($conn,$sql);
  while(odbc_fetch_row($rs)){
    echo "网站名称:".odbc_result($rs,"webname");
    echo "<br/>网站地址:".odbc_result($rs,"website");
  }
  odbc_close($conn);
?>

说明:首先使用odbc_connect连接access数据库,前三个参数分别为:$DSN,数据库用户名,密码,第四个参数设置为SQL_CUR_USE_ODBC主要是为了避免连接Access数据库发生意外错误;然后使用odbc_do执行查询操作,并调用odbc_fetch_row、odbc_result输出查询内容,最后使用odbc_close关闭Access数据库连接。

至此使用PHP ADOdb、PDO、ODBC连接Access数据库并进行操作的代码实例就介绍完了,通过上述实例,我们可以看到其实PHP连接Access数据库的方法大同小异,使用哪种方法取决于PHP环境的配置情况。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
header()函数使用说明
Nov 23 PHP
php 文件状态缓存带来的问题
Dec 14 PHP
php文章内容分页并生成相应的htm静态页面代码
Jun 07 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
Apr 20 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
php header函数的常用http头设置
Jun 25 PHP
浅谈PHP中output_buffering
Jul 13 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
thinkPHP实现的省市区三级联动功能示例
May 05 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 PHP
php抽象方法和普通方法的区别点总结
Oct 13 PHP
Smarty3配置及入门语法
Feb 22 #PHP
PHP中ajax无刷新上传图片与图片下载功能
Feb 21 #PHP
PHP+JavaScript实现无刷新上传图片
Feb 21 #PHP
PHP编辑器PhpStrom运行缓慢问题
Feb 21 #PHP
如何离线执行php任务
Feb 21 #PHP
PHP实现上传多文件示例代码
Feb 20 #PHP
微信公众号开发之通过接口删除菜单
Feb 20 #PHP
You might like
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
MySQL授权问题总结
2007/05/06 PHP
PHP内置的Math函数效率测试
2014/12/01 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
5种JavaScript脚本加载的方式
2017/01/16 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
2017/01/19 Javascript
Vue2仿淘宝实现省市区三级联动
2020/04/15 Javascript
在Web关闭页面时发送Ajax请求的实现方法
2019/03/07 Javascript
vue 搭建后台系统模块化开发详解
2019/05/01 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
2019/07/26 jQuery
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
Python调用C语言开发的共享库方法实例
2015/03/18 Python
python基于socket实现网络广播的方法
2015/04/29 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
python读取文本中的坐标方法
2018/10/14 Python
python 实现UTC时间加减的方法
2018/12/31 Python
Python装饰器语法糖
2019/01/02 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
与Django结合利用模型对上传图片预测的实例详解
2019/08/07 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
Django实现内容缓存实例方法
2020/06/30 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
计算机网络专业推荐信
2013/11/24 职场文书
妇女干部培训方案
2014/05/12 职场文书
争先创优活动总结
2014/08/27 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
九年级数学教学反思
2016/02/17 职场文书
幽默口才训练经典句子(48句)
2019/08/19 职场文书
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技