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
Freigeben: 2024-11-12 19:09:02
Original
622 Leute haben es durchsucht

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");
Nach dem Login kopieren
  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')) . ")
";
Nach dem Login kopieren
  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;
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage