PDO
PDO的定义pdo(php data object) 是一个数据库抽象层
PDO的特点
跨数据库
支持预处理
防止sql注入
提高执行效率
支持事务
PDO的配置
phpinfo()
ext扩展目录
extension_dir
5.3之前 php_pdo.dll php_pdo_mysql.dll
5.3 之后php_pdo_mysql.dll
php.ini开启扩展
Loaded Configuration File
extension=php_pdo_mysql.dll
重启服务
PDO的使用
基本使用
实例化pdo
数据库类型必须小写
host dbname charset port
$pdo = new PDO('mysql:host=localhost;dbname=xxoo;charset=utf8;port=3306','root',' ');
发送sql指令
query 返回的是对象
exec 返回的是影响函数
处理结果集
errorInfo
lastInsetId
只有pdo对象才能执行lastInsertId
foreach fetch fetchAll
PDO::FETCH_ASSOC 关联数组
PDO::FETCH_NUM 索引数组
fetch 获得单条
fetchAll 获得多条
setAttribute设置错误的模式
格式:$pdo->setAttribute(PDO::ATTR_ERRMODE,值);
值
PDO::ERRMODE_SILENT: 默认模式,不主动报错,需要主动以 $pdo->errorInfo()的形式获取错误信息
PDO::ERRMODE_WARNING: 引发 E_WARNING 错误,主动报错
PDO::ERRMODE_EXCEPTION: 主动抛出 exceptions 异常,需要以try{}cath(){}输出错误信息。
预处理
实例化对象
发送预处理命令
prepare
?
:name
绑定参数
bindValue
bindParam
array()
执行
execute()
处理结果
结果集 foreach fetch fetchAll 预处理对象
受影响行数 rowCount 预处理对象
最后插入的id lastInsertId 需要pdo对象调用
事务
表的类型必须是innodb
show create table user
alter table user engine=innodb
命令行 begin commit rollback
beginTransaction commit rollback
PDO的定义
pdo(php data object) 是一个数据库抽象层
PDO的特点
跨数据库
支持预处理
防止sql注入
提高执行效率
支持事务
PDO的配置
phpinfo()
ext扩展目录
extension_dir
5.3之前 php_pdo.dll php_pdo_mysql.dll
5.3 之后php_pdo_mysql.dll
php.ini开启扩展
Loaded Configuration File
extension=php_pdo_mysql.dll
重启服务
PDO的使用
基本使用
实例化pdo
数据库类型必须小写
host dbname charset port
$pdo = new PDO('mysql:host=localhost;dbname=xxoo;charset=utf8;port=3306','root',' ');
发送sql指令
query 返回的是对象
exec 返回的是影响函数
处理结果集
errorInfo
lastInsetId
只有pdo对象才能执行lastInsertId
foreach fetch fetchAll
PDO::FETCH_ASSOC 关联数组
PDO::FETCH_NUM 索引数组
fetch 获得单条
fetchAll 获得多条
setAttribute设置错误的模式
格式:$pdo->setAttribute(PDO::ATTR_ERRMODE,值);
值
PDO::ERRMODE_SILENT: 默认模式,不主动报错,需要主动以 $pdo->errorInfo()的形式获取错误信息
PDO::ERRMODE_WARNING: 引发 E_WARNING 错误,主动报错
PDO::ERRMODE_EXCEPTION: 主动抛出 exceptions 异常,需要以try{}cath(){}输出错误信息。
预处理
实例化对象
发送预处理命令
prepare
?
:name
绑定参数
bindValue
bindParam
array()
执行
execute()
处理结果
结果集 foreach fetch fetchAll 预处理对象
受影响行数 rowCount 预处理对象
最后插入的id lastInsertId 需要pdo对象调用
事务
表的类型必须是innodb
show create table user
alter table user engine=innodb
命令行 begin commit rollback
beginTransaction commit rollback