PDO方式访问数据

  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();
}

 

posted @ 2018-02-05 16:42  23滴雨  阅读(182)  评论(0编辑  收藏  举报