如何在 PDO 中使用參數正確建構 LIKE 查詢?

DDD
發布: 2024-11-11 11:38:03
原創
996 人瀏覽過

How to Properly Structure LIKE Queries with Parameters in PDO?

在PDO 中實作LIKE 查詢

當使用PDO 執行涉及LIKE 運算子的查詢時,了解如何正確建構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%");
$stmt = $handle->prepare($query);
$stmt->execute($params);
登入後複製

解釋:

通過在參數,我們確保在執行查詢時將它們正確地視為佔位符。這指示 PDO 用實際搜尋字詞取代相應的值,從而允許正確執行 LIKE 操作。

檢查原始程式碼產生的查詢時,您會注意到類似「SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%'," 其中準備好的語句錯誤地引用了已引用字串中的值。透過遵循上述正確方法,您可以解決此問題並在 PDO 中成功執行 LIKE 查詢。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板