PDO方式訪問數據

  PDO又稱爲數據訪問抽象層,它有三個功能:php

    1.php中訪問其餘數據庫;mysql

    2.事務功能;sql

    3.防止SQL注入攻擊。數據庫

  用法:服務器

    1.造對象:fetch

      造數據源:$dsn = "mysql(數據庫名稱):dbname=mydb(訪問的數據庫名稱);host=localhost(訪問的地址)"; ;spa

      $pdo = new PDO($dsn,"root","123");;code

    2.寫SQL語句:對象

      $sql = "查詢語句";;blog

    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();
}
相關文章
相關標籤/搜索