首頁 >後端開發 >php教程 >PDO中使用LIKE時如何避免錯誤查詢?

PDO中使用LIKE時如何避免錯誤查詢?

Susan Sarandon
Susan Sarandon原創
2024-11-11 12:54:021088瀏覽

How to Avoid Incorrect Queries When Using LIKE in PDO?

在PDO 中正確實現LIKE 查詢

嘗試在PDO 中執行LIKE 查詢時,確保正確的語法以檢索準確的結果非常重要。在提供的查詢中,問題在於 % 通配符的位置。

PDO 中 LIKE 查詢的正確語法是在 $params 陣列中包含 % 符號,而不是查詢本身。以下是一個範例:

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");
$stmt = $handle->prepare($query);
$stmt->execute($params);

如果$params 陣列中包含% 符號,則產生的查詢將如下所示:

SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%'

但是,在提供的原始查詢中, % 符號包含在查詢本身:

$query = "SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'";

執行查詢時,準備好的語句會引用中的值已經引用的字串,導致不正確的查詢。透過將 % 符號移至 $params 數組,預期的查詢將被正確執行。

以上是PDO中使用LIKE時如何避免錯誤查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn