首頁 >資料庫 >mysql教程 >如何正確使用 PDO 參數的 LIKE 查詢?

如何正確使用 PDO 參數的 LIKE 查詢?

DDD
DDD原創
2024-12-03 01:12:10125瀏覽

How to Correctly Use LIKE Queries with PDO Parameters?

在PDO 中使用LIKE 查詢

嘗試在PDO 中實現LIKE 查詢時,您可能會遇到類似於下面查詢中描述的問題:

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

此查詢可能不會傳回任何結果,即使$var1 和$var2包含有效的搜尋字詞。錯誤在於錯誤包含 % 符號。

要在 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 陣列中的 % 符號中,可以確保 % 字元被正確替換到查詢中。如果不進行此修改,PDO 準備語句會將 % 符號視為文字字串值的一部分,從而導致不正確的查詢。

以上是如何正確使用 PDO 參數的 LIKE 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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