在页面模板上显示非WordPress数据库中的数据

时间:2012-10-01 作者:stemie

我正在使用sql查询,通过将下面的代码添加到页面模板来访问要在wordpress页面上显示的信息。我知道查询可以正常工作,因为我已经在phpmyadmin中对其进行了测试。

 $rows = $newdb->get_results("SELECT TrainerName FROM trainers");   
 echo "<ul>";
 foreach ($rows as $obj) :
 echo "<li>".$obj->Name."</li>";
 endforeach;
 echo "</ul>";
我补充说这是我的功能。php文件$newdb = new wpdb(); $newdb->show_errors();

但我无法让它工作,我收到一个错误“警告:为foreach()提供的参数无效…”

2 个回复
SO网友:WhiskerSandwich

正如Ben所建议的,在创建wpdb类时,需要传递连接详细信息:

$newdb = new wpdb( \'user\', \'password\', \'database\', \'hostname\' );
在foreach循环中使用结果之前,还应该测试查询是否实际返回了一些内容:

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

SO网友:Ben HartLenn

如果您有:

$newdb = new wpdb();
您需要提供新的数据库连接信息,以便它可以连接。假设新数据库的用户、密码和主机相同,可以使用一些可用常量,但至少需要专门定义db名称:

$newdb = new wpdb(DB_USER, DB_PASSWORD, \'myNewDbName\', DB_HOST);

结束

相关推荐

在自定义php页面中访问全局变量和函数

我创建了一个名为“test.php”的php页面,并将该文件上载到wordpress安装的根文件夹中。此文件仅包含以下内容:<?php if ( is_user_logged_in() ) { blah..... } ?> 我需要检查用户是否已登录,如果是,请获取一些详细信息。因此,我需要知道的是我需要在php文件中包含哪些wp文件才能获得此函数的结果,并且我可能需要检查id、用户名。