需要找到外部数据库的前缀

时间:2015-06-24 08:11:21

标签: php mysql sql database wordpress

我正在为WordPress创建一个插件,部分插件要求我连接到外部WordPress网站并使用该网站的外部数据库来获取一些信息。我已经建立了连接,并且使用以下代码访问了外部数据库$wpdb

global $new_wpdb;

define( 'BLOCK_LOAD', true ); 
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-config.php' ); 
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-includes/wp-db.php' ); 
$new_wpdb = new wpdb( $username, $password, $dbname, $servername); 
$new_wpdb->show_errors();

当我使用print_r($new_wpdb);时,我得到了数组,我可以看到外部数据库的用户名,密码等的值。但是,prefixbase_prefix没有价值。它只显示以下前缀:

  

[prefix] => [base_prefix] =>

如何获取外部数据库使用的前缀?

1 个答案:

答案 0 :(得分:1)

你究竟是如何连接到外部网站的WordPress的?

如果您的代码能够在远程站点上require_once wp-config.php,则应在$table_prefix变量中定义前缀。

或者,如果您可以对WordPress数据库运行数据库查询(需要知道数据库名称或有连接),您可以运行SHOW TABLES LIKE '%wp_users'之类的查询,然后$table_prefix = str_replace('wp_users', '', $result);