PHP PDO 準備語句與MySQL LIKE 查詢
本文解決了使用PHP 的PDO 類別(MySQLKE 驅動程式)執行LILIKE 的問題使用MySQL 資料庫進行查詢。
嘗試對預準備語句使用 LIKE 時會出現問題,因為 PDOexecute() 方法中使用的語法與 MySQL 用戶端不同。
錯誤的語法:
<code class="php">$ret = $prep->execute(array(':searchTerm' => '"%'.$searchTerm.'%"'));</code>
增加了不必要的雙引號,導致不正確的結果。
同樣,此語法也是不正確的:
<code class="php">$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));</code>
,因為它缺少所需的附加語法準備好的語句。
使用 PDO 準備好的語句執行 LIKE 查詢的正確語法是:
<code class="php">$prep = $dbh->prepare($sql); $ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));</code>
準備好的語句比字串連接具有優勢,因為它們可以防止 SQL 注入。它們將值視為與查詢分開的實體,從而消除了繁瑣的串聯的需要。
以上是如何在 PHP 中使用 PDO 準備語句執行 LIKE 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!