PDO防止SQL注入的方法
如果你已經從mysql函式庫過渡到PDO,你可能想知道如何取代real_escape_string來轉義發往資料庫的字串中的單引號的函數。雖然向每個字串添加斜杠可能看起來很麻煩,但 PDO 提供了一種更有效的替代方案。
PDO 準備的強大功能
為了防止 SQL 注入,PDO 建議使用其準備()方法。此方法透過啟用查詢計劃和元資訊的快取來優化應用程式的效能。此外,它消除了手動參數引用的需要,從而防止 SQL 注入攻擊。
PDO 準備如何運作
當您執行 PDO::prepare() 時,PDO建立一個準備好的聲明。然後該語句被編譯並緩存,提高執行效率。當您準備好執行帶有參數的查詢時,您可以呼叫 PDOStatement::execute(),它將參數注入到準備好的語句中,而無需手動引用。
用法範例
用法範例$pdo = new PDO("...");
$sql = "INSERT INTO users (username, email) VALUES (?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute([$username, $email]);
下面是使用PDOprepare() 和execute() 的範例:$pdo = new PDO(“. ..”);
$sql = "INSERT INTO 使用者(使用者名稱、電子郵件)值 (?, ?)";
$stmt = $pdo->準備($sql);
$stmt->execute([$username, $email]);
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3