PHP PDO 準備語句:MySQL LIKE 查詢
使用PHP 的PDO 類別執行LIKE 查詢時,正確處理LIKE 運算子至關重要並正確準備語句。
問題:在提供的程式碼中,原始查詢使用 MySQL 用戶端工作,但在遷移到 PHP 時遇到問題。
解: 錯誤出在prepare方法的WHERE子句中。以下行是不正確的:
<code class="php">$ret = $prep->execute(array(':searchTerm' => '"%' . $searchTerm . '"%')); $ret = $prep->execute(array(':searchTerm' => "%:searchTerm%")); $ret = $prep->execute(array(':searchTerm' => ':' . $searchTerm . '%'));</code>
解釋:
<code class="php">WHERE hs.hs_text LIKE :searchTerm</code>
準備好的語句應該執行如下:
<code class="php">$ret = $prep->execute(array(':searchTerm' => '%' . $searchTerm . '%'));</code>
準備好的語句應該執行如下:
現在,查詢應該回傳所需的結果.以上是如何正確使用 PDO 準備語句進行 MySQL LIKE 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!