亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    php用pdo好嗎

    PDO —— PHP 數(shù)據(jù)對(duì)象(PHP Data Object)的縮寫,作為一個(gè)為多種數(shù)據(jù)庫提供統(tǒng)一的連接接口的方式PDO底層需要配合對(duì)應(yīng)數(shù)據(jù)庫的PDO數(shù)據(jù)驅(qū)動(dòng)來操作數(shù)據(jù)庫。PDO是當(dāng)今PHP官方推薦的數(shù)據(jù)庫連接方式,其優(yōu)勢(shì)在于:

    php用pdo好嗎

    1、PDO 真正的以底層實(shí)現(xiàn)的統(tǒng)一接口數(shù)庫操作接口,不管后端使用的是何種數(shù)據(jù)庫,如果代碼封裝好了以后,應(yīng)用層調(diào)用基本上差不多的,當(dāng)后端數(shù)據(jù)庫更換了以后,應(yīng)用層代碼基本不用修改.(推薦學(xué)習(xí):PHP編程從入門到精通)

    2、PDO 支持更高級(jí)的 DB 特性操作,如:存儲(chǔ)過程的調(diào)度等, mysql 原生庫是不支持的.

    3、PDO 是 PHP 官方的 PECL 庫,兼容性穩(wěn)定性必然要高于 MySQL Extension,可以直接使用 pecl upgrade pdo 命令升級(jí).

    4、PDO 可以防止 SQL 注入,確保數(shù)據(jù)庫更加安全 PDO 防止 SQL 注入的原理

    在 PHP 5.1.0 之后 PDO 默認(rèn)開啟狀態(tài) 你可以通過 phpinfo()函數(shù)來查看 PDO 的開啟狀態(tài):

    php用pdo好嗎PDO 預(yù)處理

    當(dāng)我們使用數(shù)據(jù)庫執(zhí)行查詢時(shí),數(shù)據(jù)庫管理系統(tǒng)( DBMS )會(huì)對(duì)查詢進(jìn)行編譯,優(yōu)化查詢,而使用 PDO 預(yù)處理可以使這個(gè)過程只在首次查詢的時(shí)候進(jìn)行,在后續(xù)的相同的查詢只需要對(duì)綁定的參數(shù)進(jìn)行替換,這樣就節(jié)省了重復(fù)編譯的時(shí)間,另外使用 PDO 參數(shù)綁定還可以避免 SQL 注入等安全性問題。

    代碼演示:

    <?phptry{     $dbh=new PDO('mysql:host=localhost;dbname=testDB','root','');     $stmt=$dbh->prepare("INSERT users (user_name,sex) VALUES (:user_name,:sex)");      $stmt->bindParam(':user_name',$name);     $stmt->bindParam(":sex",$sex);    //插入一行     $name="yang001";     $sex="M";     $stmt->execute();    //再次插入一行     $name="yang002";     $sex="F";     $stmt->execute();  }catch (PDOException $e){    print "Error ! : ".$e->getMessage();    die(); }

    查看數(shù)據(jù)庫結(jié)果如下:

    php用pdo好嗎我們使用預(yù)處理的查詢語句來取出結(jié)果:

    <?phptry{     $dbh=new PDO('mysql:host=localhost;dbname=testDB','root','');     $stmt=$dbh->prepare("SELECT * FROM users WHERE user_name=:user_name ");      $stmt->bindParam(':user_name',$name);    //插入一行     $name="yang001";    if($stmt->execute()){        while ($row=$stmt->fetch(PDO::FETCH_ASSOC)){             print_r($row);         }     }   }catch (PDOException $e){    print "Error ! : ".$e->getMessage();    die(); }

    結(jié)果如下:

    php用pdo好嗎

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)