我在functions.php文件中创建了一个节,并注册了一个shortcode,用于从自定义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”的内容。完成select查询后,for循环结束,html列表也结束。这个短代码被注册为[vstp\u feed],它被测试并使用静态html。
任何帮助都将不胜感激。以前使用过sql,但没有使用新的wordpress db示例。谢谢。
只是确认一下,它是apache ubuntu。另外值得注意的是,my@@datadir存储在与操作系统磁盘分开的另一个磁盘上,以实现更快的io和动态扩展存储的自由
1条答案
按热度按时间atmip9wb1#
将连接代码放入wp-config.php文件($mydb=newwpdb('root','cencored','testdb','localhost');)
并在函数文件中使用它作为“global$mydb;”