在使用資料庫時,高效、安全地執行搜尋操作至關重要。提高搜尋精度和防止 SQL 注入漏洞的一種方法是利用參數化查詢。本文介紹了使用 PDO 參數化查詢建構 LIKE 語句的具體場景。
您可能會遇到需要使用 LIKE 語句查詢資料的情況,它允許您搜尋用於基於指定模式的部分匹配。在設計此類查詢時,採用參數化查詢來防範 SQL 注入攻擊至關重要。
您嘗試建立參數化LIKE 查詢,如下所示:
$query = $database->prepare('SELECT * FROM table WHERE column LIKE "?%"'); $query->execute(array('value'));
但是,此嘗試不會產生預期結果,因為查詢中提供的模式用雙引號(") 括起來。PDO將雙引號解釋為一部分
正確的方法是參數化LIKE 語句,而不用雙引號將模式括起來,如下所示:
$query = $database->prepare('SELECT * FROM table WHERE column LIKE ?'); $query->execute(array('value%'));
透過省略雙引號,佔位符(?) 被視為變量,並且提供的值('value%')被正確附加為匹配模式。的一個重要方面,以實現高效、安全的資料檢索。語句時正確參數化的重要性。
以上是如何透過 LIKE 語句安全地使用 PDO 參數化查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!