PHP使用pdo连接access数据库并循环显示数据操作示例


Posted in PHP onJune 05, 2018

本文实例讲述了PHP使用pdo连接access数据库并循环显示数据操作。分享给大家供大家参考,具体如下:

PDO连接与查询:

try {
$conn = new PDO("odbc:driver={microsoft access driver (*.mdb)};
       dbq=".realpath("MyDatabase.mdb"))
       or die("链接错误!");
//echo "链接成功!";
}
catch(PDOException $e){
  echo $e->getMessage();
}
$sql = "select * from users";

1. foreach()方法

foreach ($conn->query($sql) as $row) {
$row["UserID"];
$row["UserName"];
$row["UserPassword"];
}

2. while()方法

$rs = $conn->query($sql);
$rs->setFetchMode(PDO::FETCH_NUM);
while($row=$rs->fetch()){
$row[0];
$row[1];
$row[2];
}

php使用PDO抽象层获取查询结果,主要有三种方式:

(1)PDO::query()查询。

看下面这段php代码:

<?php
//PDO::query()查询
$res = $db->query('select * from user');
$res->setFetchMode(PDO::FETCH_NUM); //数字索引方式
while ($row = $res->fetch()){
print_r($row);
}
?>

(2)PDO->exec()处理sql

<?php
//PDO->exec()处理sql
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$res = $db->exec("insert into user(id,name) values('','php点点通')");
echo $res;
?>

(3)PDO::prepare()预处理执行查询

<?php
//PDO::prepare()预处理执行查询
$res = $db->prepare("select * from user");
$res->execute();
while ($row = $res->fetchAll()) {
print_r($row);
}
?>

setAttribute() 方法是设置属性,常用参数如下:

PDO::CASE_LOWER -- 强制列名是小写
PDO::CASE_NATURAL -- 列名按照原始的方式
PDO::CASE_UPPER -- 强制列名为大写

setFetchMode方法来设置获取结果集的返回值的类型,常用参数如下:

PDO::FETCH_ASSOC -- 关联数组形式
PDO::FETCH_NUM -- 数字索引数组形式
PDO::FETCH_BOTH -- 两者数组形式都有,这是默认的
PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的 mysql_fetch_object()

对上面总结如下:

查询操作主要是PDO::query()PDO::exec()PDO::prepare()

PDO->query() — 处理一条SQL语句,并返回一个“PDOStatement”
PDO->exec() — 处理一条SQL语句,并返回所影响的条目数
PDO::prepare()主要是预处理操作,需要通过$rs->execute()来执行预处理里面的SQL语句

最后介绍两个常用的函数:

(1)fetchColumn()获取指定记录里一个字段结果,默认是第一个字段!

<?php
$res = $db->query('select * from user');
//获取指定记录里第二个字段结果
$col = $res->fetchColumn(1);
echo $col;
?>

(2)fetchAll(),从一个结果集中获取数据,然后存放在关联数组中

<?php
$res = $db->query('select * from user');
$res_arr =$res->fetchAll();
print_r($res_arr);
?>

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

PHP 相关文章推荐
php adodb连接mssql解决乱码问题
Jun 12 PHP
php面向对象全攻略 (十) final static const关键字的使用
Sep 30 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
去除php注释和去除空格函数分享
Mar 13 PHP
PHP单例模式详细介绍
Jul 01 PHP
smarty循环嵌套用法示例分析
Jul 19 PHP
PHP实现的观察者模式实例
Jun 21 PHP
PHP hebrev()函数用法讲解
Feb 21 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
Oct 12 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
Oct 18 PHP
php接口隔离原则实例分析
Nov 11 PHP
详解PHP中的8个魔术常量
Jul 06 PHP
thinkPHP5框架设置404、403等http状态页面的方法
Jun 05 #PHP
PHP函数按引用传递参数及函数可选参数用法示例
Jun 04 #PHP
PHP实现的超长文本分页显示功能示例
Jun 04 #PHP
PHP使用正则表达式实现过滤非法字符串功能示例
Jun 04 #PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
Jun 04 #PHP
Laravel利用gulp如何构建前端资源详解
Jun 03 #PHP
PHP学习记录之数组函数
Jun 01 #PHP
You might like
Phpbean路由转发的php代码
2008/01/10 PHP
PHP开发中常用的十个代码样例
2016/02/02 PHP
CI框架实现框架前后端分离的方法详解
2016/12/30 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
Yii框架通过请求组件处理get,post请求的方法分析
2019/09/03 PHP
使用隐藏的new来创建对象
2011/03/29 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
2020/12/13 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
2016/03/05 Javascript
五步轻松实现JavaScript HTML时钟效果
2020/03/25 Javascript
vue实现日历备忘录功能
2020/09/24 Javascript
Vue组件间通信 Vuex的用法解析
2019/08/05 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
[47:08]OG vs INfamous 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
python 反向输出字符串的方法
2018/07/16 Python
python的常用模块之collections模块详解
2018/12/06 Python
python实现复制文件到指定目录
2019/10/16 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
内科护士实习自我鉴定
2013/10/17 职场文书
班组长岗位职责范本
2014/01/05 职场文书
小学端午节活动方案
2014/03/13 职场文书
英文请假条
2014/04/11 职场文书
法院授权委托书范文
2014/08/02 职场文书
创业计划书之农家乐
2019/10/09 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python