我们继续来看数据库的PDO内容
假设我们现在已经链接成功数据库$db了。看下面的代码
<?php
$db->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);//设置属性
$rs = $db->query("SELECT * FROM t1");
$rs->setFetchMode(PDO::FETCH_ASSOC);//设置获取结果集的返回值的类型
$result_arr = $rs->fetchAll();
print_r($result_arr);
?>
setAttribute() 方法是设置部分属性,主要属性有:PDO::ATTR_CASE、PDO::ATTR_ERRMODE等等,我们这里需要设置的是 PDO::ATTR_CASE,就是我们使用关联索引获取数据集的时候,关联索引是大写还是小写,有几个选择: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::FETCH_ASSOC。
也可以写成下面的代码:
<?php
$rs = $db->prepare("SELECT * FROM t1");
$rs->execute();
while($row = $rs->fetch()){
print_r($row);
}
?>
======================》PDO面向对象方式处理数据库的错误信息
先看代码
<?php
try {
$db = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$db = null;
} catch (PDOException $e) {
print "Error: " . $e->getMessage() . "<br/>";
die();
}
?>
PDO 用 tyr...catch 自动捕获异常信息
function getMessage(); // 返回异常信息
function getCode(); // 返回异常代码
function getFile(); // 返回发生异常的文件名
function getLine(); // 返回发生异常的代码行号
function getTrace(); // backtrace() 数组
function getTraceAsString(); // 已格成化成字符串的 getTrace() 信息
OK 先吃饭去。。。。