預備語句是增強資料庫安全性和效能的重要工具。但是,需要注意的是,CodeIgniter 本身並不支援準備好的語句。儘管如此,我們仍然可以採用查詢綁定,而這種類似的方法可以帶來巨大的好處。
CodeIgniter 擁抱未命名查詢綁定,其中問號 (?) 充當SQL 查詢中的佔位符。這些佔位符會自動替換為傳遞給查詢函數的陣列中指定的值。
例如:
$sql = "SELECT * FROM tbl_user WHERE uid = ? AND activation_key = ?"; $this->db->query($sql, array($uid, $activation_key));
儘管CodeIgniter 缺乏明確的支持命名綁定(例如:id 和:key),用命名佔位符號取代問號並不表示使用準備好的語句。命名綁定只是在查詢綁定中提供不同的語法替代方案。
理解使用 ? 至關重要。或 :foo 並不表示語句的準備。準備好的語句需要兩個不同的函數呼叫:prepare() 和execute(),這在 CodeIgniter 中不受支援。
儘管沒有準備好的語句,查詢綁定還是提供了一些功能優點:
以上是CodeIgniter 支持準備好的語句嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!