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新手上路(三)
Oct 09 PHP
asp和php下textarea提交大量数据发生丢失的解决方法
Jan 20 PHP
php visitFile()遍历指定文件夹函数
Aug 21 PHP
php中socket的用法详解
Oct 24 PHP
PHP获取数组中重复最多的元素的实现方法
Nov 11 PHP
php检测数组长度函数sizeof与count用法
Nov 17 PHP
php简单实现快速排序的方法
Apr 04 PHP
Thinkphp关闭缓存的方法
Jun 26 PHP
浅谈php中的循环while、do...while、for、foreach四种循环
Nov 05 PHP
PHP+Ajax 检测网络是否正常实例详解
Dec 16 PHP
php实现商城购物车的思路和源码分析
Jul 23 PHP
如何理解PHP核心特性命名空间
May 28 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中使用PDF文档功能
2006/10/09 PHP
PHP错误Warning:mysql_query()解决方法
2015/10/24 PHP
js 调整select 位置的函数
2008/02/21 Javascript
一个简单的javascript类定义例子
2009/09/12 Javascript
点击文章内容处弹出页面代码
2009/10/01 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
自己动手写的javascript前端等待控件
2015/10/30 Javascript
js实现日历的简单算法
2017/01/24 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
vue 自定义指令自动获取文本框焦点的方法
2018/08/25 Javascript
jQuery实现移动端扭蛋机抽奖
2020/11/08 jQuery
Python Tkinter GUI编程入门介绍
2015/03/10 Python
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
python 创建一维的0向量实例
2019/12/02 Python
关于pytorch处理类别不平衡的问题
2019/12/31 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
python map比for循环快在哪
2020/09/21 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
爱普生美国官网:Epson美国
2018/11/05 全球购物
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
小学清明节活动方案
2014/03/08 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
2015军训通讯稿大全
2015/07/18 职场文书
改进工作作风心得体会
2016/01/23 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书
Spring Security动态权限的实现方法详解
2022/06/16 Java/Android