在 PDO SQL 查詢中重複使用綁定參數:有效策略
建立具有搜尋功能的 SQL 查詢通常需要重複使用相同的搜尋字詞。 但是,PDO 文件明確指出不允許在準備好的語句中多次使用相同的命名參數。 讓我們探索有效的解決方法。
實用的替代方案
不要使用多個參數名稱(例如:term1、:term2),請考慮以下方法:
<code class="language-sql">SET @term = :term; SELECT ... FROM table WHERE name LIKE @term OR number LIKE @term;</code>
<code class="language-php">$query = "SELECT ... FROM table WHERE name LIKE :term OR number LIKE :term"; $term = "hello world"; $termX = 0; $query = preg_replace_callback("/\:term/", function ($matches) use (&$termX) { $termX++; return $matches[0] . ($termX - 1); }, $query); $stmt = $pdo->prepare($query); for ($i = 0; $i < 2; $i++) { $stmt->bindValue(":term$i", "%$term%", PDO::PARAM_STR); } $stmt->execute();</code>
PDOStatement::execute()
.最優解選擇
處理重複綁定參數的最佳方法取決於您的特定需求和查詢複雜性。 MySQL 使用者定義的變數提供了簡單性和可讀性,而參數替換為更複雜的查詢提供了更大的靈活性。
以上是如何使用 PDO 重複使用 SQL 查詢中的綁定參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!