如何在 IN() 條件中使用具有多個值的 WordPress 準備語句?

Mary-Kate Olsen
發布: 2024-11-12 19:09:02
原創
539 人瀏覽過

How to Use WordPress Prepared Statements with Multiple Values in the IN() Condition?

使用IN 條件包含多個值的WordPress 準備語句

在WordPress 中使用IN() 條件中包含多個值的準備條件語句時,將這些價值觀正確地輸入到聲明中至關重要。原始程式碼嘗試傳遞包含值的字串,但 WordPress 將其解釋為帶有轉義雙引號的單一字串。

要修正此問題,請採用以下方法:

  1. 建立值數組: 將逗號分隔的值字串轉換為單一值的陣列
$villes = array("paris", "fes", "rabat");
登入後複製
  1. 產生SQL語句: 使用 IN() 條件的適當數量的佔位符 (%s) 建構 SQL 語句。
$sql = "
  SELECT DISTINCT telecopie
  FROM `comptage_fax`
  WHERE `ville` IN(" . implode(', ', array_fill(0, count($villes), '%s')) . ")
";
登入後複製
  1. 使用call_user_func_array: 使用 call_user_func_array 呼叫 $wpdb->prepare 將陣列的值作為單獨的參數傳遞。這可確保單獨處理每個值。
$query = call_user_func_array(array($wpdb, 'prepare'), array_merge(array($sql), $villes));

echo $query;
登入後複製

此修改後的程式碼可確保使用 IN() 條件中的多個值正確建構準備好的語句。透過使用值數組和 call_user_func_array,您可以避免轉義雙引號的問題並執行具有所需結果的準備好的語句。

以上是如何在 IN() 條件中使用具有多個值的 WordPress 準備語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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