WordPress使用其他php文件中的wp_config.php变量连接到DB
我有一个简单的php文件,可以连接到wordpress数据库,任何需要的东西都可以正常工作。但是我想使用wordpress的WordPress使用其他php文件中的wp_config.php变量连接到DB,php,database,wordpress,include,config,Php,Database,Wordpress,Include,Config,我有一个简单的php文件,可以连接到wordpress数据库,任何需要的东西都可以正常工作。但是我想使用wordpress的wp_config.php文件中的值将我的php文件连接到DB。我试过了,但没用 <?php require_once('wp-config.php'); $conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD , DB_NAME); // Check connection if ($conn->connect_
wp_config.php
文件中的值将我的php文件连接到DB。我试过了,但没用
<?php
require_once('wp-config.php');
$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD , DB_NAME);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
注意:我更改了重要数据!
你有解决这个问题的方法吗?同样的代码对我来说很好 检查wp config.php路径并尝试回显常量和 在传递到
mysqli
或者您可以使用wp load.phpinclude('/path/wp load.php')代码>
您确实应该使用PDO进行连接,但除此之外,或许可以尝试使用常量(“变量”)
而不是直接使用变量:
<?php
require_once('wp-config.php');
$conn = new mysqli(constant("DB_HOST"), constant("DB_USER"), constant("DB_PASSWORD"), constant("DB_NAME"));
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
使用定义wp配置中的用户集:
mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
由于您的脚本不在Wordpress环境中,请尝试以下操作:
require_once(path/to/wp-config.php');
mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
由于您希望在其他外部应用程序或模板中连接WP DB以从WP DB获取数据,所以可以直接在文件中包含wordpress文件。
使用wp blog header.php
将把完整的wordpress加载到当前模板中,然后您就可以使用它了
include_once $_SERVER['DOCUMENT_ROOT'].'/YOUR_WP_DIR/wp-blog-header.php';
global $wpdb; // wordpress database object
print_r($wpdb);
wp blog header.php的内容
/**
* Loads the WordPress environment and template.
*
* @package WordPress
*/
if ( !isset($wp_did_header) ) {
$wp_did_header = true;
// Load the WordPress library.
require_once( dirname(__FILE__) . '/wp-load.php' );
// Set up the WordPress query.
wp();
// Load the theme template.
require_once( ABSPATH . WPINC . '/template-loader.php' );
}
添加这一行标题(“HTTP/1.1200ok”)
在include_once
之后,我应该如何设置/YOUR_WP_DIR/?当然,您需要使用保存wordpress文件和文件夹的文件夹名称来更改它。我更改了它,但它给出了一个提示:您是否添加了标题(“HTTP/1.1 200 OK”)代码>包含后?最终它对我有效。我更改了第一行,如下所示,包括“../../../wp config.php”;
require_once(path/to/wp-config.php');
mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
include_once $_SERVER['DOCUMENT_ROOT'].'/YOUR_WP_DIR/wp-blog-header.php';
global $wpdb; // wordpress database object
print_r($wpdb);
/**
* Loads the WordPress environment and template.
*
* @package WordPress
*/
if ( !isset($wp_did_header) ) {
$wp_did_header = true;
// Load the WordPress library.
require_once( dirname(__FILE__) . '/wp-load.php' );
// Set up the WordPress query.
wp();
// Load the theme template.
require_once( ABSPATH . WPINC . '/template-loader.php' );
}