今天扣丁学堂PHP培训老师给大家介绍以下关于使用pdo连接access数据库并循环显示数据操作,首先我们结合实例形式来分析php使用pdo进行access数据库连接、查询、执行sql语句、预处理等相关操作技巧与注意事项,下面我们一起来看一下吧。
PDO连接与查询:
try{
$conn=newPDO("odbc:driver={microsoftaccessdriver(*.mdb)};
dbq=".realpath("MyDatabase.mdb"))
ordie("链接错误!");
//echo"链接成功!";
}
catch(PDOException$e){
echo$e->getMessage();
}
$sql="select*fromusers";
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代码:
//PDO::query()查询
$res=$db->query('select*fromuser');
$res->setFetchMode(PDO::FETCH_NUM);//数字索引方式
while($row=$res->fetch()){
print_r($row);
}
?>
(2)PDO->exec()处理sql
//PDO->exec()处理sql
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$res=$db->exec("insertintouser(id,name)values('','php点点通')");
echo$res;
?>
(3)PDO::prepare()预处理执行查询
//PDO::prepare()预处理执行查询
$res=$db->prepare("select*fromuser");
$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()获取指定记录里一个字段结果,默认是第一个字段!
$res=$db->query('select*fromuser');
//获取指定记录里第二个字段结果
$col=$res->fetchColumn(1);
echo$col;
?>
(2)fetchAll(),从一个结果集中获取数据,然后存放在关联数组中
$res=$db->query('select*fromuser');
$res_arr=$res->fetchAll();
print_r($res_arr);
?>
网友评论