1、PDO(PHP Data Object)扩展为PHP定义了一个访问数据库的轻量、持久的接口。实现PDO接口的每一种数据库驱动都能以正则扩展的形式把各自的特色表现出来。
主要:PDO扩展只是一个抽象的接口层,利用PDO扩展本身并不能实现任何数据库操作,必须使用一个特定的数据库PDO驱动访问数据库
2、启动PDO方法:找到php.ini文件将
复制代码 代码如下:
;extension=php_pdo.dll
前的分号去掉即可(linux环境下类似)
3、PDO预定义类:
PDO包含了三个预定义类:PDO、PDOStatement、PDOException
(1)PDO类:代表一个PHP和数据库之间的连接
PDO:构造器,创建一个新的PDO对象
beginTransaction:开始事务
commit:提交事务
errorCode:从数据库返回一个错误代号,如果有的话
errorInfo:从数据库返回一个含有错误信息的数组,如果有的话
exec:执行一条SQL语句并返回影响的行数
getAttribute:返回一个数据库的连接属性
lastInsertId:返回最新插入到数据库的行(ID)
prepare:为执行准备一条SQL语句,返回语句执行后的联合结果集
query:执行一条SQL语句并返回结果集
rollBack:回滚一个事务
setAttribute:设置一个数据库连接属性
(2)PDOStatement类:代表一条预处理语句以及语句执行后的联合结果集
bindColomn:绑定一个PHP变量到结果集输出列
bindParam:绑定一个变量到PHP预处理语句中的参数
bindValue:绑定一个值到处理语句中的参数
closeCursor:关闭游标,使语句可以再次执行
cloumnCount:返回结果集中列的数量
errorCode:从语句中返回一个错误代号,如果有的话
errorInfo:从语句中返回包含错误信息的数组
execute:执行一条预处理语句
fetch:从结果集中取出一行
fetchAll:从结果集中取出一个包含所有行的数组
fetchColomn:返回结果集中某一列的数据
getAttribute:返回一个PDOStatement属性
getColomnMeta:返回结果集中某一列的结构
nextRowset:返回下一个结果集
rowCount:返回SQL语句执行后影响的行数
setAttribute:设置一个PDOStatement属性
setFetchMode:为PDOStatement设定获取数据
给一个事务处理的简单例子:
复制代码 代码如下:
<"mysql:host=localhost;dbname=photo","root","123456"。array('3'=>'2'));
}catch(PDOException $e){
echo $e->getMessage();
}
//设置字符集
$sql="set name utf8";
$pdo->exec($sql);
//开启事务处理
$pdo->beginTransaction();
$num=250;
$sql="update user set money=money-{$num} where id =1";
$rows=$pdo->exec($sql);
$sql="update user set monet=money-{$num} where id=2";
$rows+=$pdo->exec($sql);
//结束事务处理
if($rows==2){
$pdo->commit();
}else{
$pdo->rollBack();
}
?>
(事务的主要特性:原子性、一致性、独立性和持久性)
4、PDO最大的特点是引入了参数绑定和预编译
预编译负责两件事,转移和软解析提速。程序要支持预编译,除了数据库支持外,还需要驱动支持(PDO和NySQLi支持)
5、PDO的效率问题
(1)在一个大表大数据量中进行测试,PDO的CRUD效率比MySql直连低5%~15%,并且方差大于MySQL直连
(2)至于负载方面,PDO开启长连接后负载高于MySQL且比较稳定。
其实在实际应用中,90%的程序是不会进行数据库迁移的,有数据库迁移的应用程序少之又少。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 群星《烈火青春》1988[WAV+CUE]
- 蓝心湄.2000-你开心了湄2CD【SONY】【WAV+CUE】
- 谭咏麟.1989-像我这样的朋友【宝丽金】【WAV+CUE】
- 罗文.2022-大地留着的记号·纪念罗文辞别廿载3CD【环球】【WAV+CUE】
- 670《脆弱敏感小女生》[FLAC/分轨][78.47MB]
- 时代少年团《「叁重楼」演唱会 -「楼间楼」重庆站LIVE》[320K/MP3][278.08MB]
- 时代少年团《「叁重楼」演唱会 -「楼间楼」重庆站LIVE》[FLAC/分轨][820.86MB]
- 许廷铿2017《THEULTIMATECOLLECTION》2CD[星梦娱乐][WAV+CUE]
- 许佳慧-独家情话[WAV+CUE]
- 张惠妹《ThePowerOfA-Mei》2018[SACD/ISO]
- 陈珊妮.2013-低调人生2CD【和气音乐】【WAV+CUE】
- 群星.2000-超级BAND.BAND.BAND【滚石】【WAV+CUE】
- 许志安.2002-On.Show演唱会2CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 蔡琴-哈利路亚2016[SACD/ISO]
- 陈随意2011-今生只为你[豪记][WAV+CUE]