【问题标题】:Trying to Query remote WordPress database尝试查询远程 WordPress 数据库
【发布时间】:2023-04-03 20:35:01
【问题描述】:

我正在尝试从远程 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: 我刚刚意识到我遗漏了一条重要信息:我运行查询的站点是一个多站点安装!我确信这可能会影响他们如何形成查询!

【问题讨论】:

  • 可以是任何东西。我们需要更多信息。主机是否可达?远程数据库中是否存在任何数据等。
  • 数据库有内容,我可以使用相同的凭据从本地计算机的 sql 程序访问它。
  • 在下面阅读我的答案。也许您的远程数据库只能由本地主机访问? (phpmyadmin - 权限)
  • 我的本地计算机是指办公室的 cpu :) - 我不能在这里连接 frpm,只允许本地主机。

标签: php sql wordpress remote-access


【解决方案1】:

检查是否:

  • 远程数据库可访问
  • 您的用户对远程数据库/表拥有权限
  • 您的远程数据库不仅可以由本地主机访问(如果是这样,请输入 % 而不是本地主机)

【讨论】:

    【解决方案2】:

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

    1. 在源 wordpress 根目录中创建一个名为 remotequery.php 的 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 数据库中检索数据。

    【讨论】:

      【解决方案3】:

      See this plugin...

      如果两个站点都是您的,并且您想要来自其他站点的数据,那么您可以使用此插件在json format 中获取数据...

      这个插件很有帮助...

      希望这会有所帮助...

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-10-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-03-11
          相关资源
          最近更新 更多