试图查询远程WordPress数据库

时间:2014-03-03 15:23:03

标签: php sql wordpress remote-access

我正在尝试从远程Wordpress站点(到另一个Wordpress站点)检索一些数据,下面的代码返回一个空数组,如果我使用本地数据库(只注释掉第一行代码),它会返回帖子。我希望能够在远程数据库上运行WP_Query,但这只是一个奖励。

        $wpdb = new wpdb( $dbusername, $dbpassword, $dbname, $dbhost );

        $wpdb->set_prefix('wp_');
        $wpdb->show_errors();

        $psts = $wpdb->get_row( 
            "SELECT * FROM $wpdb->posts"
        );

修改 我发现如果我将查询更改为"SELECT * FROM wp_posts",我会得到一个结果。所以我猜这是一个PHP版本的东西(我运行5.4.4,服务器运行5.3.3)?但仍然无法运行WP-Query。

编辑2: 我刚刚意识到我遗漏了一条重要的信息:我正在运行查询的网站是多站点安装!我相信这可能会影响他们如何形成查询!

4 个答案:

答案 0 :(得分:1)

检查是否:

  • 远程数据库可达
  • 您的用户在远程数据库/表
  • 上拥有权利
  • 本地主机不仅可访问您的远程数据库(如果是,请输入而不是localhost)

答案 1 :(得分:1)

如果您是wordpress网站的所有者,请按照说明进行操作:

  1. 在源wordpress根目录中创建一个php文件,命名为remotequery.php或您最喜欢的

  2. 加载wordpress库,在文件顶部包含“ required('wp-load.php')”

    所以会是这样

<?php define( 'WP_USE_THEMES', false ); // Don't load theme support functionality require( 'wp-load.php' ); ?>

然后,您可以添加任何wordpress查询,而无需添加数据库更正。您可以添加wordpress样式数据库查询以从wordpress数据库检索数据。

答案 2 :(得分:0)

See this plugin ...

如果这两个网站都属于您,并且您希望获得其他网站的数据,那么您可以使用此插件获取json format中的数据...

这个插件非常有用......

希望这会有所帮助......

答案 3 :(得分:0)

您还可以使用PHP CURL库进行远程连接。

是单向的 或者我们也使用数据类型jsonp使用Ajax 可以连接使用Ajax删除服务器。 请使用以下网址: http://www.asp.net/ajaxlibrary/jquery_webforms_jsonp_retrieve_data.ashx 要么 https://api.jquery.com/jQuery.ajax/