web-dev-qa-db-ja.com

ワードプレス以外のデータベースのデータをページテンプレートに表示する

以下のコードをページテンプレートに追加することで、ワードプレスページに表示する情報にアクセスするためにSQLクエリを使用しています。 phpmyadminでテストしたとおりにクエリが機能することはわかっています。

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

これを私のfunctions.phpファイル$newdb = new wpdb(); $newdb->show_errors();に追加しました

私はそれを動作させることができません、私はエラーを受け取ります「警告:foreach()に無効な引数が与えられました...」

4
stemie

Benが示唆したように、wpdbクラスを作成するときに接続の詳細を渡す必要があります。

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

また、foreachループで結果を使用する前に、クエリが実際に何かを返したことをテストする必要があります。

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

あなたがこれを持っている場所:

$newdb = new wpdb();

接続できるように、新しいデータベース接続情報を入力する必要があります。新しいデータベースに同じユーザー、パスワード、およびホストがあると仮定すると、利用可能な定数をいくつか使用できますが、少なくともdb名を明確に定義する必要があります。

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