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

yipeiwu_com6年前PHP代码库

本文实例讲述了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基于pdo操作数据库技巧总结》、《php+Oracle数据库程序设计技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

相关文章

PHPExcel在linux环境下导出报500错误的解决方法

原先我导出为 XLSX 格式,用的是 $objWriter = IOFactory::createWriter($objPHPExcel, 'Excel2007'); 报错,纠...

php封装db类连接sqlite3数据库的方法实例

前言 SQLite3扩展名在PHP 5.3.0+以上都会默认启用。可以在编译时使用--without-sqlite3来禁用它。 Windows用户可通过启用php_sqlite3.dll...

php数值转换时间及时间转换数值用法示例

本文实例讲述了php数值转换时间及时间转换数值用法。分享给大家供大家参考,具体如下: echo $startime=strtotime(date("Y-m-d",time()));/...

php生成SessionID和图片校验码的思路和实现代码

/****** 产生Session ID ******/ 基本的思路: 是把当前微秒的时间获取, 然后产生以个随机数字, 把随机数字和当前时间相加后加密一下, 最后再截取需要的长度...

dedecms模板标签代码官方参考

没想到dedecms可以这样DIY,牛啊地址:http://www.dedecms.com/archives/templethelp/help/ 在了解DedeCms的模板代码之前,了解...