Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WordPress使用其他php文件中的wp_config.php变量连接到DB_Php_Database_Wordpress_Include_Config - Fatal编程技术网

WordPress使用其他php文件中的wp_config.php变量连接到DB

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_

我有一个简单的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_error) {
    die("Connection failed: " . $conn->connect_error);
}
注意:我更改了重要数据!
你有解决这个问题的方法吗?

同样的代码对我来说很好

检查wp config.php路径并尝试回显常量和 在传递到
mysqli

或者您可以使用wp load.php
include('/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' );

}