Für eine Kunden-Website mit WordPress-Unterbau hatte ich einmal eine kleine Datenbankanwendung gebaut: Die Pfade zu den Logos der angeschlossenen Mitgliedsunternehmen wurden automatisch aus den Datensätzen einer Datenbanktabelle ausgelesen und an eine JavaScript-Slideshow weitergereicht. Bei einer Änderung eines Firmenlogos oder bei neu hinzugekommenen oder ausgeschiedenen Unternehmen wird ja sowieso die Datenbank geändert, und nun muss man nicht auch noch von Hand die Diaschau pflegen.
Das klappte auch lange Zeit sehr gut, aber vor einiger Zeit erschien eine Fehlermeldung über der Diaschau: Warning: Missing argument 2 for wpdb::prepare(), called in […]. In WordPress-Versionen ab 3.5 benötigt das $wpdb-Objekt zwei Argumente, vorher hatte eines genügt. Genauer gesagt: im Fall, dass eine WHERE-Klausel gesetzt wurde, werden zwei Argumente benötigt; aber offensichtlich auch, wenn man ORDER BY verwendet. Da es in diesem Fall kein sinnvolles zweites Argument geben kann, setzte ich NULL dahinter, und das Problem war erledigt.
global $wpdb; $wpdb->show_errors(); $mitglieder = $wpdb->get_results ( $wpdb->prepare ( "SELECT logoundinfo FROM [Tabelle] ORDER BY firmenname ASC", NULL ) );
Genauere Angaben zur Verwendung der wpdb-Klasse findet man im sogenannten WordPress-Codex, also der Code-Referenz.