您的位置:首页 > 其它

pdo的三个预定义类,PDO PDOStatement PDOException

2016-05-16 22:27 851 查看

PDO 简介——PDO中的三个类及其方法

标签: 数据库sqlusermysqlphpquery2008-09-28 18:51 1215人阅读 评论(0) 举报

分类: PHP(10)

转载自:http://www.fanbin.name/2007/12/20/pdo-%e7%ae%80%e4%bb%8b-pdo%e4%b8%ad%e7%9a%84%e4%b8%89%e4%b8%aa%e7%b1%bb%e5%8f%8a%e5%85%b6%e6%96%b9%e6%b3%95/

PDO中包含三个预定义的类,它们分别是 PDOPDOStatement PDOException,下面将分别简单介绍一下。后面的系列相关文章会使用若干示例介绍这几个类的使用。

一、PDO
代表一个PHP和数据库之间的连接。

方法:

PDO - 构造器,构建一个新的PDO对象
beginTransaction - 开始事务
commit - 提交事务
errorCode - 从数据库返回一个错误代号,如果有的话
errorInfo - 从数据库返回一个含有错误信息的数组,如果有的话
exec - 执行一条SQL语句并返回影响的行数
getAttribute - 返回一个数据库连接属性
lastInsertId - 返回最新插入到数据库的行(的ID)
prepare - 为执行准备一条SQL语句,返回语句执行后的联合结果集(PDOStatement)
query - 执行一条SQL语句并返回一个结果集
quote - 返回添加了引号的字符串,以使其可用于SQL语句中
rollBack - 回滚一个事务
setAttribute - 设置一个数据库连接属性
/* 通过 ODBC 驱动建立数据库连接 */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}

/* 事务处理开始,关闭自动提交事务(autocommit) */
$dbh->beginTransaction();

/* 更改数据库结构 */
$sth = $dbh->exec("DROP TABLE fruit");

/* 提交事务 */
$dbh->commit();

/* Database connection is now back in autocommit mode */
二、PDOStatement
代表一条预处理语句以及语句执行后的联合结果集(associated result set)。

方法:

bindColumn - 绑定一个PHP变量到结果集中的输出列
bindParam - 绑定一个PHP变量到一个预处理语句中的参数
bindValue - 绑定一个值到与处理语句中的参数
closeCursor - 关闭游标,使语句可以再次执行
columnCount - 返回结果集中的列的数量
errorCode - 从语句中返回一个错误代号,如果有的话
errorInfo - 从语句中返回一个包含错误信息的数组,如果有的话
execute - 执行一条预处理语句
fetch - 从结果集中取出一行
fetchAll - 从结构集中取出一个包含了所有行的数组
fetchColumn - 返回结果集中某一列中的数据
getAttribute - 返回一个 PDOStatement 属性
getColumnMeta - 返回结果集中某一列的结构(metadata?)
nextRowset - 返回下一结果集
rowCount - 返回SQL语句执行后影响的行数
setAttribute - 设置一个PDOStatement属性
setFetchMode - 为 PDOStatement 设定获取数据的方式
三、PDOException
返回PDO触发的错误。你不能从你的代码中抛出一个PDOException异常。

<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
foreach ($dbh->query('SELECT * from FOO') as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: