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 将字符串按大写字母分隔成字符串数组
Apr 30 PHP
PHP引用符&amp;的用法详细解析
Aug 22 PHP
php打开远程文件的方法和风险及解决方法
Nov 12 PHP
Smarty模板变量调节器用法分析
May 23 PHP
PHP标准类(stdclass)用法示例
Sep 28 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
详细解读php的命名空间(二)
Feb 21 PHP
PHP crc32()函数讲解
Feb 14 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
Apr 12 PHP
YII2.0框架行为(Behavior)深入详解
Jul 26 PHP
PHP实现批量修改文件名的方法示例
Sep 18 PHP
php中数组最简单的使用方法
Dec 27 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
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
动手学习无线电
2021/03/10 无线电
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
基于Jquery插件开发之图片放大镜效果(仿淘宝)
2011/11/19 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
超级好用的jQuery圆角插件 Corner速成
2014/08/31 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
2015/04/02 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
极力推荐10个短小实用的JavaScript代码段
2016/08/03 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python自动生产表情包
2017/03/17 Python
python实现图片文件批量重命名
2020/03/23 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
Python简单基础小程序的实例代码
2019/04/28 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
python判断变量是否为列表的方法
2020/09/17 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
HTML5 拖拽批量上传文件的示例代码
2018/03/28 HTML / CSS
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
linux面试题参考答案(10)
2013/11/04 面试题
精彩广告词大全
2014/03/19 职场文书
团代会开幕词
2015/01/28 职场文书
逃出克隆岛观后感
2015/06/09 职场文书
python Tkinter的简单入门教程
2021/04/11 Python
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL