定义:
PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用。
如何引用PDO:
1、打开php的配置文件然后搜索pdo找到也就是以下php_pdo.dll 行后启用它们,也就是把前面的注释去掉。
2、需要明白这些dll的文件存在的目录是lamp\wamp\bin\php\php5.2.6\ext下
3、为何要使用pdo即所谓的优点:
(1)市面上使用最多的,大部分企业使用PDO
(2)Mysqli 只支持mysql数据库,PDO支持大部分数据库
(3)相对其他的数据库而言pdo的执行更高效。
mysqli------是mysql数据库的加强:
(预处理机制)
(错误处理机制)
(采用了面向对象的编程模式)
3、需要知道一些简单的用法
PDO->beginTransaction() — 标明回滚起始点
PDO->commit() — 标明回滚结束点,并执行SQL
PDO->__construct() — 建立一个PDO链接数据库的实例
PDO->errorCode() — 获取错误码
PDO->errorInfo() — 获取错误的信息
PDO->exec() — 处理一条SQL语句,并返回所影响的条目数
PDO->getAttribute() — 获取一个“数据库连接对象”的属性
PDO->getAvailableDrivers() — 获取有效的PDO驱动器名称
PDO->lastInsertId() — 获取写入的最后一条数据的主键值
PDO->prepare() — 生成一个“查询对象”
PDO->query() — 处理一条SQL语句,并返回一个“PDOStatement”
PDO->quote() — 为某个SQL中的字符串添加引号
PDO->rollBack() — 执行回滚
PDO->setAttribute() — 为一个“数据库连接对象”设定属性
4、数据库的连接
PDO中的数据库连接并且返回查询的数据
<?php
$dsn = ‘mysql:host=localhost;dbname=db_name′;
$user = ‘root';
$password = ‘′;
$pdo = new PDO($db_name,$root,$pass);
$sql = 'select * from bank';
$row = $pdo->query($sql);
//fetch 返回第一条数据
//$rows=$row ->fetch(PDO::FETCH_ASSOC);
//var_dump($rows);
//fetchAll 返回关联数据的
$rows=$row ->fetchAll(PDO::FETCH_ASSOC);
var_dump($rows);
?>
5、 PDO中的事务
PDO->beginTransaction(),PDO->commit(),PDO->rollBack()这三个方法是在支持回滚功能时一起使用的。PDO->beginTransaction()方法标明起始点,PDO->commit()方法标明回滚结束点,并执行SQL,PDO->rollBack()执行回滚。
<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', ‘root', ”);
$dbh->query('set names utf8;');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction();
$dbh->exec(”INSERT INTO `test`.`table` (`name` ,`age`)VALUES ('mick', 22);”);
$dbh->exec(”INSERT INTO `test`.`table` (`name` ,`age`)VALUES ('lily', 29);”);
$dbh->exec(”INSERT INTO `test`.`table` (`name` ,`age`)VALUES ('susan', 21);”);
$dbh->commit();
} catch (Exception $e) {
$dbh->rollBack();
echo “Failed: ” . $e->getMessage();
}
?>