Ich erhalte diese Warnung, wenn ich versuche, eine databaseabfrage auszuführen:
Warnung: Fehlendes Argument 2 für wpdb :: prepare ()
- WPDB - Lesen und schreiben Wert von / zu database
- Gemeinsamer benutzerdefinierter Post-Typ zwischen WP-Netzwerk-Sites
- Wie man Datensätze aus der database WordPress holt
- So erhalten Sie alle Taxonomien und alle Begriffe für jede Taxonomie mit Post Count Zero
- wpdb-Abfrageproblem, um auf vorherige 3 Tage-Posts zuzugreifen
- Wie kann ich ein Feld mit wpdb und einer Gruppe kombinieren?
Die problematische Abfrage lautet:
$result = $wpdb->get_var( $wpdb->prepare( "SELECT DISTINCT meta_value FROM $metatable WHERE meta_key LIKE '%matchme%' AND meta_value IS NOT NULL AND meta_value ''" ) );
Gibt es eine Möglichkeit, den Fehler zu entfernen, indem Sie die obige Abfrage ändern?
Entfernen Sie den Aufruf von $wpdb->prepare()
:
$result = $wpdb->get_var( "SELECT DISTINCT meta_value FROM $metatable WHERE meta_key LIKE '%matchme%' AND meta_value IS NOT NULL AND meta_value <> ''" );
In diesem Fall macht die function $wpdb->prepare()
nichts . Es gibt keine Variablen, die unbekannte Werte enthalten, daher müssen sie nicht bereinigt werden.
Wenn Sie Variablen haben, die bereinigt werden müssen, können Sie der function ein zweites Argument hinzufügen:
$result = $wpdb->get_var( $wpdb->prepare( "SELECT DISTINCT meta_value FROM %s WHERE meta_key LIKE '%matchme%' AND meta_value IS NOT NULL AND meta_value <> ''", $metatable ) );
Relevante Links: