使用wpdb显示非wordpress数据库数据不起作用

时间:2018-08-24 13:04:02

标签: mysql wordpress

我已经在我的functions.php文件中创建了一个部分,并注册了一个短代码,该短代码旨在从自定义mysql数据库表中回显某些数据。 我有一个外部系统,它将数据插入数据库。 我的wordpress安装应该能够从该数据库读取,并且我想通过简码在wordpress页面上回显一些行。 我遇到的问题是表数据没有被回显。我可以做回声“测试”;并且单词test会显示出来,但是我遇到的问题是没有显示表格数据。这是我的代码。

function vstp_feed_function(){
    //$x++;
    //$alternatingclass = ($x%2 == 0)? 'whiteBackground': 'graybackground';
    $mydb = new wpdb('root','cencored','testdb','localhost');
    $rows = $mydb->get_results("select * from services");
        echo "<ul>";
            foreach ($rows as $obj) :
                 echo "<li>".$obj->headcode."</li>";
            endforeach;
        echo "</ul>";

}
add_shortcode('vstp_feed', 'vstp_feed_function');

因此,以上代码将创建一个具有数据库凭据和信息的新变量mydb。一个名为$ rows的新变量将存储使用mydb变量的sql查询。我从服务表中获取所有列。此后,我回显一个无序列表,运行一个for循环以显示列表项html中“ headcode”列的内容。 选择查询完成后,for循环结束,并且html列表也结束。 该短代码已注册为[vstp_feed],该代码已通过测试并可以使用静态html。

任何帮助将不胜感激。之前使用过sql,但没有使用过新的wordpress数据库实例。谢谢。

只需确认一下,它的apache ubuntu。还值得注意的是,我的@@ datadir与我的OS磁盘存储在不同的磁盘上,以实现更快的IO和自由扩展存储的空间

1 个答案:

答案 0 :(得分:1)

将连接代码放入wp-config.php文件中($ mydb = new wpdb('root','cencored','testdb','localhost');)

并在您的功能文件中将其用作“全局$ mydb;”