Problem wenn Sie versuchen, zu verwenden, IN() IN wpdb
habe ich dieses:
$villes = '"paris","fes","rabat"';
$sql = 'SELECT distinct telecopie FROM `comptage_fax` WHERE `ville` IN(%s)';
$query = $wpdb->prepare($sql, $villes);
wenn ich einen echo $query;
ich bekommen:
SELECT distinct telecopie FROM `comptage_fax` WHERE `ville` IN('\"CHAPELLE VIVIERS \",\"LE MANS \",\"QUEND\"')
die probleme, die ich habe ist, dass $wpdb
hinzufügen '
im IN('...')
kann jemand helfen, vielen Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diesen code (FEST):
implode()
array_fill()
call_user_func_array()
array_merge()
$villes
mit 30 Städten statt nur 3 und es wird immer noch funktionieren.ville
IN(".implode(', ', array_fill(0, count($villes), '%s')).") UNDtable_name.name
= '%s'$prepare
:$wpdb->prepare($sql,...$ville);
WordPress bereits eine Funktion für diesen Zweck, siehe esc_sql(). Hier ist die definition dieser Funktion:
Können Sie es verwenden, wie diese:
FUNKTION:
VERWENDUNG:
ERGEBNIS:
Kann oder kann nicht effizienter sein, aber es ist wiederverwendbar.
Den
vorbereiten
Funktion nimmt auch einenarray
als zweiten parameter.Können Sie versuchen Umwandlung
$villes
wie diese:Aktuellen
Es zu ändern
Versuchen Sie nun, vorbei an
$villes
zur Vorbereitung func und sehen, ob es funktioniert. Hoffe, es hilft.