預處理語句有以下兩個特點:
1.效率高
2.安全性好
為什麼說預處理語句效率高呢?
預處理語句就好比乙個模板,比如下面的一串插入語句:
insert問號表示不固定的值,我們只需要輸入值然後批量執行模板即可。into admin(id,username,password) values(?,?,?);
為什麼說其安全性好呢?
因為其已經生成乙個模板了,已經編譯好了(ps:還沒有執行)所以縱使黑客執行sql攻擊命令也是無效的。因為已經編譯了,輸入再多的惡意sql語句也是徒勞。
開始乙個真實案例:
<?php下圖為執行後的效果:trycatch(pdoexception $e
)
$pdo->setattribute(pdo::attr_autocommit,0);
echo "pdo物件建立成功.
";try
catch(pdoexception $e
)
echo "成功執行sql語句.
";
$pdo->setattribute(pdo::attr_autocommit,1);
?>
如果我們要插入更多的自然都是沒有問題的。所以效率上面會好的很多。sqli也有預處理功能但是麻煩的多。
跟著百度學PHP 14 PDO 優化驅動
使用方法設定預定義變數 pdo的方法 屬性 pdo預定義常量 ps 可以使用預定義常量來獲取一些伺服器或者客戶端的資訊 語法 pdo屬性或者方法 pdo域定義變數 案例 try catch exception e echo pdo getattribute pdo attr driver name ...
跟著百度學PHP 14 PDO的預處理語句2
名稱也就是 所以在寫繫結變數 bindparam 的時候可以那麼寫 sql pdo prepare insert into users gold,user,password values gold,users,password sql bindparam gold,gold 繫結給 gold變數。第...
跟著百度學PHP 14 PDO的預處理語句2
名稱也就是所以在寫繫結變數 bindparam 的時候可以那麼寫 sql pdo prepare insert into users gold,user,password values gold,users,password sql bindparam gold,gold 繫結給 gold變數。第乙...