欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-04-08 12:10:18
本文实例讲述了php使用pdo连接access数据库并循环显示数据操作。分享给大家供大家参考,具体如下: pdo连接与查询: try { $conn = ne...

本文实例讲述了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程序设计有所帮助。