IN 条件を使用した複数の値を持つ WordPress プリペアド ステートメント
WordPress で IN() 条件に複数の値を持つプリペアド ステートメントを使用する場合、これらの値をステートメントに適切に入力することが重要です。元のコードは値を含む文字列を渡そうとしましたが、WordPress はそれを二重引用符でエスケープされた単一の文字列として解釈しました。
これを修正するには、次のアプローチを採用します:
$villes = array("paris", "fes", "rabat");
$sql = " SELECT DISTINCT telecopie FROM `comptage_fax` WHERE `ville` IN(" . implode(', ', array_fill(0, count($villes), '%s')) . ") ";
$query = call_user_func_array(array($wpdb, 'prepare'), array_merge(array($sql), $villes)); echo $query;
この変更されたコードにより、準備されたステートメントが IN() 条件内の複数の値で正しく構築されることが保証されます。値の配列と call_user_func_array を使用すると、エスケープされた二重引用符の問題を回避し、準備されたステートメントを実行して望ましい結果を得ることができます。
以上がIN() 条件で複数の値を持つ WordPress プリペアドステートメントを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。