Heim >Datenbank >MySQL-Tutorial >Wie verwende ich von WordPress vorbereitete Anweisungen mit mehreren Werten in der IN()-Bedingung?

Wie verwende ich von WordPress vorbereitete Anweisungen mit mehreren Werten in der IN()-Bedingung?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-12 19:09:02687Durchsuche

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

Vorbereitete WordPress-Anweisung mit mehreren Werten unter Verwendung der IN-Bedingung

Bei Verwendung einer vorbereiteten Anweisung in WordPress mit mehreren Werten in der IN()-Bedingung, Es ist entscheidend, diese Werte richtig in die Aussage einfließen zu lassen. Der ursprüngliche Code hat versucht, eine Zeichenfolge mit den Werten zu übergeben, aber WordPress hat sie als einzelne Zeichenfolge mit maskierten doppelten Anführungszeichen interpretiert.

Um dies zu beheben, verwenden Sie den folgenden Ansatz:

  1. Erstellen Sie ein Array von Werten:Konvertieren Sie die durch Kommas getrennte Zeichenfolge von Werten in ein Array einzelner Werte.
$villes = array("paris", "fes", "rabat");
  1. Generieren Sie die SQL-Anweisung: Erstellen Sie die SQL-Anweisung mit der entsprechenden Anzahl von Platzhaltern (%s) für die IN()-Bedingung.
$sql = "
  SELECT DISTINCT telecopie
  FROM `comptage_fax`
  WHERE `ville` IN(" . implode(', ', array_fill(0, count($villes), '%s')) . ")
";
  1. Verwenden Sie call_user_func_array: Rufen Sie $wpdb auf ->Bereiten Sie die Verwendung von call_user_func_array vor, um die Werte des Arrays als separate Argumente zu übergeben. Dadurch wird sichergestellt, dass jeder Wert einzeln behandelt wird.
$query = call_user_func_array(array($wpdb, 'prepare'), array_merge(array($sql), $villes));

echo $query;

Dieser geänderte Code stellt sicher, dass die vorbereitete Anweisung mit mehreren Werten in der IN()-Bedingung korrekt erstellt wird. Durch die Verwendung eines Arrays von Werten und call_user_func_array können Sie das Problem von maskierten doppelten Anführungszeichen vermeiden und die vorbereitete Anweisung mit den gewünschten Ergebnissen ausführen.

Das obige ist der detaillierte Inhalt vonWie verwende ich von WordPress vorbereitete Anweisungen mit mehreren Werten in der IN()-Bedingung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn