首頁 >後端開發 >php教程 >如何在 PDO 中使用佔位符實現 LIKE 查詢?

如何在 PDO 中使用佔位符實現 LIKE 查詢?

Susan Sarandon
Susan Sarandon原創
2024-11-12 01:34:03422瀏覽

How to Implement LIKE Queries with Placeholders in PDO?

在PDO 中實作LIKE 查詢

在PDO 中使用LIKE 查詢時,了解如何正確合併佔位符和綁定變數至關重要。本文解決了使用者在 PDO 中實作 LIKE 查詢時遇到的問題,該查詢無法傳回結果。

使用者提供的原始查詢嘗試使用帶有附加百分號的佔位符:

$query = "SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'";
$params = array($var1, $var2);

但是,這種做法是不正確的。百分號應包含在綁定變數中,而不是包含在查詢本身中:

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");

透過將帶有百分號的變數值括在綁定變數中,產生的查詢可確保LIKE 子句將搜尋包含指定字的位址。如果不進行此調整,查詢將產生類似以下內容的內容:

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

此查詢將失敗,因為百分號嵌入在引號內,導致搜尋查找包含確切文字「foo」或「的地址” bar”,而不是包含這些術語的單字。

以上是如何在 PDO 中使用佔位符實現 LIKE 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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