pdo数据抽象层

定义:

    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();
}
?>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值