数据访问的第二种方式PDO
数据访问的第二种方式
PDO
数据访问抽象层 就是一个类
mysqli 也是类 类->驱动->数据库
特点
1可以访问其它数据库
2具有事务功能
3带有预处理语句功能(防止SQLd注入攻击)
1 造对象
$dsn = '数据驱动名称:数据库名称=??;host=localhost'; 数据源
new PDO($dsn,"root"."root");
2写SQL语句
3执行SQL语句
$result = query($sql);
4从PDOstatement对象里读数据
$stm = $stm->fetch(); 不给参数 是both
fetchall
1事务 要不 全部成功 或者 全部失败 如付款
付款 库存减掉 添加订单
开启事务beginTransaion
提交commit
如果发现问题 回滚rollback
try{}
catch(Exception $e){回滚 $ =rollback} 抓住错误 控制错误
final{}无论有没有异常 都最终执行
预处理语句功能之一
1造对象
//预处理语句,放到服务器,等待执行,返回PDOstatement对象
2
A:sql语句 分步 :insert ....values(?,?);
$stm = $pdo->prepare($sql) 准备执行
B:给预处理语句绑定参数
$stm->Bindparam(1,$code);
.............以此类推
B:简化 定义索引数组
$arr = arry("","");
3执行
$stm->execute($arr);
预处理语句之二 ?变名称
1.....
2
语句:insert ....values(:code,:name);
$stm = $pdo->prepare($sql) 准备执行