PDO又称为数据访问抽象层,它有三个功能:
1.php中访问其他数据库;
2.事务功能;
3.防止SQL注入攻击。
用法:
1.造对象:
造数据源:$dsn = "mysql(数据库名称):dbname=mydb(访问的数据库名称);host=localhost(访问的地址)"; ;
$pdo = new PDO($dsn,"root","123");;
2.写SQL语句:
$sql = "查询语句";;
3.调用
$stm = $pdo->query($sql);
$arr = $stm->fetchAll();。
防止SQL注入攻击:
$dsn = "mysql:dbname=mydb;host=localhost"; $pdo = new PDO($dsn,"root","123"); //$sql = "insert into nation values(?,?)"; //将SQL语句放到服务器等待执行 //$stm = $pdo->prepare($sql); //将参数传递到服务器开始执行 //$arr = array("n016","不死族"); //$stm->execute($arr); $sql = "insert into nation values(:code,:name)"; $stm = $pdo->prepare($sql); $arr = array("code"=>"n017","name"=>"精灵族"); $stm->execute($arr);
事物功能:
事物:操作数据库的每一个步骤,使其绑在一起,同时成功或同时失败的结果。
$dsn = "mysql:dbname=mydb;host=localhost"; $pdo = new PDO($dsn,"root","123"); //设置PDO的异常模式 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); //如何捕获异常 try{ //你要执行的代码 //开启事务功能 $pdo->beginTransaction(); $sql = "insert into nation values('n018','人族')"; $sql1 = "insert into nation values('n019','回族')"; $pdo->query($sql); $pdo->query($sql1); //提交事务执行 $pdo->commit(); }catch(Exception $e){ //echo $e->getMessage(); //回滚 $pdo->rollBack(); }