PHP[OOP入门]PH14-PDO
该部分为 php 面向对象的入门部分,较为肤浅且参杂过分已经不是主流的知识。
这是我早期的 php 学习笔记,php 的学习版本版本是 5.6、7,🐟2020/05/06年从有道笔记导出至此。
day14-PDO
1、概述
pdo就是用来连接数据库的 mysqli是用来连接数据库的
使用pdo可以连接其他的数据库,连接方法不变
pdo可以用来连接所有的数据库,但是前提你要安装对应的驱动
pdo的扩展库 mysql和pdo的驱动
mysql oracle sqlserver
2、使用(手册)
3个类 PDO PDOStatement PDOException
连接
try {
$dsn = 'mysql:host=localhost;dbname=fen;charset=utf8';
//如果连接失败。pdo内部会自动的抛出异常
$pdo = new PDO($dsn, 'root', '1234567');
echo '连接数据库成功<br />';
} catch (PDOException $e) {
echo $e->getMessage();
}
获取和设置信息
setAttribute
在下面讲解pdo的时候设置看看
getAttribute
可以获取一些信息,都是pdo为我们提供的常量
PDO::ATTR_AUTOCOMMIT
PDO::ATTR_CLIENT_VERSION
PDO::ATTR_SERVER_INFO
PDO::ATTR_DRIVER_NAME
错误模式
默认模式:pdo有两个方法供我们使用 errorCode errorInfo
警告模式:$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
异常模式:$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_);
我们需要将sql语句的执行放到try中来执行
PDO执行sql语句
query=>查询=》要结果集的
返回的是PDOStatement对象,可以通过遍历对象查看所有结果,该结果关联和索引都有
exec=>增删改=》不要结果集的,要受影响的行数
事务处理
什么叫做事务?
wo 0+500
li 1000-500
这两条语句必须都执行成功才能完成交易,如果有一条语句失败,那么交易就失败,所有的状态都要恢复(回滚)。这种就叫做一个事务
myisam:不支持
innodb:支持事务
小利给爱斌转500块钱
PDO::beginTransaction --- 启动一个事务
PDO::commit --- 提交一个事务
PDO::rollBack --- 回滚一个事务
预处理类 预处理语句
优点:效率、安全(sql注入)
PDOStatement
prepare 预处理sql语句
execute 执行sql语句
增删改
查(结果集)
PDO::FETCH_BOTH
PDO::FETCH_ASSOC
PDO::FETCH_NUM
PDO::FETCH_OBJ
setFetchMode 设置默认的提取模式
绑定列(了解)
3、虚拟主机
1、点击配置
2、在 httpd.conf 中,将下列打开
vhost_alias_module
rewrite_module
Include conf/extra/httpd-vhosts.conf