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

标签 mysql wordpress

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

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 存储在与我的操作系统磁盘分开的不同磁盘上,以实现更快的 IO 和动态扩展存储的自由

最佳答案

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

并在您的函数文件中将其用作“global $mydb;”

关于mysql - 使用 wpdb 显示非 wordpress 数据库数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52005149/

相关文章:

php - foreach 给我同一行四次(PHP、Active Record、CodeIgniter)

php - 计算多个字段

mysql - 从表中读取数据编辑并保存到另一个表中

javascript - 在旋转 slider 上悬停时弹出文本框

php - 根据产品类别自动添加 WooCommerce 优惠券代码

php - woocommerce 将自定义帖子类型添加到购物车

mysql - 您应该在 RoR 中的什么位置存储大量自定义字符串?

mysql - 优化MySQL中的多对多查询

php - 在 Woocommerce 中以编程方式替换新订单电子邮件收件人

html - 如何在 MailChimp 的同一行获取电子邮件输入和提交按钮?