it-swarm.com.de

Anzeigen von Daten aus einer Nicht-WordPress-Datenbank in einer Seitenvorlage

Ich verwende eine SQL-Abfrage, um auf Informationen zuzugreifen, die auf einer WordPress-Seite angezeigt werden sollen, indem ich den folgenden Code zu einer Seitenvorlage hinzufüge. Ich weiß, dass die Abfrage funktioniert, da ich sie in phpmyadmin getestet habe.

 $rows = $newdb->get_results("SELECT TrainerName FROM trainers");   
 echo "<ul>";
 foreach ($rows as $obj) :
 echo "<li>".$obj->Name."</li>";
 endforeach;
 echo "</ul>";

und ich fügte hinzu, das ist meine functions.php Datei $newdb = new wpdb(); $newdb->show_errors();

Ich kann es jedoch nicht zum Laufen bringen. Ich erhalte die Fehlermeldung "Warnung: Ungültiges Argument für foreach () ..."

4
stemie

Wie von Ben vorgeschlagen, müssen Sie beim Erstellen der wpdb-Klasse die Verbindungsdetails übergeben:

$newdb = new wpdb( 'user', 'password', 'database', 'hostname' );

Sie sollten auch testen, ob die Abfrage tatsächlich etwas zurückgegeben hat, bevor Sie das Ergebnis in einer foreach-Schleife verwenden:

if ($rows) {
    foreach ($rows as $obj) {
        ...
    }
}
5
WhiskerSandwich

Wo hast du das:

$newdb = new wpdb();

Sie müssen die neuen Datenbankverbindungsinformationen angeben, damit eine Verbindung hergestellt werden kann. Angenommen, Sie haben denselben Benutzer, dasselbe Kennwort und denselben Host für Ihre neue Datenbank, könnten Sie einige der verfügbaren Konstanten verwenden, aber Sie müssen zumindest den Datenbanknamen speziell definieren:

$newdb = new wpdb(DB_USER, DB_PASSWORD, 'myNewDbName', DB_Host);
2
Ben HartLenn