$wpdb变量在中的非对象上引发对成员函数Get_Results()的错误调用

时间:2014-11-04 作者:GabrieleU

以下代码中出现以下错误:“对中的非对象调用成员函数get\\u results()”:

require_once($_SERVER[\'DOCUMENT_ROOT\'] . $folder . \'/wp-config.php\');
require_once($_SERVER[\'DOCUMENT_ROOT\'] .  $folder . \'/wp-load.php\');
if (!$wpdb) {
$wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
} else {
    global $wpdb;
}

function vendorDatails( $param)
{
    if ((substr ($param, 0, 0)) == \'#\')
    {
        substr($param, 1);
    }

    $order_ids = $wpdb->get_results( 
                                    "
                                     SELECT DISTINCT vendor_id 
                                     FROM $wpdb->lqrhxf_pv_commission 
                                     WHERE order_id = %d
                                    ",
                                        $param
                                );

    foreach ( $order_ids as $order_id )
    {
        echo $order_id->vendor_id;
    }
}
db参数已成功加载,但当我使用$wpdb变量时,上面一行出现了错误:

 $order_ids = $wpdb->get_results( 

2 个回复
最合适的回答,由SO网友:Milo 整理而成

这是一个PHP variable scope 问题,没有$wpdb 在函数中定义。

添加

global $wpdb;
在尝试使用之前$wpdb 对象

SO网友:Yogesh Bangar

每当您想在WordPress之外使用WordPress的功能时,您可以使用

include\\u once($\\u SERVER[\'DOCUMENT\\u ROOT”“。/wp load.php”);然后您可以使用WordPress的功能。检查此项。如果您只想访问数据库功能

需要\\u一次($\\u服务器[\'DOCUMENT\\u ROOT”“。/wp config.php”);需要\\u once($\\u SERVER[\'DOCUMENT\\u ROOT”“。/wp includes/wp db.php”);if(!$wpdb){$wpdb=新wpdb(DB\\U用户、DB\\U密码、DB\\U名称、DB\\U主机);}else{全局$wpdb;}

结束

相关推荐

如何使用wpdb类从备用数据库检索数据?

我正在尝试从同一服务器上的单独WordPress安装中检索数据。我能够使用wpdb类成功地连接到备用数据库并获得结果,但是,我似乎无法将类方法用于新创建的数据库。澄清一下:我有2个Wordpress安装。我正在尝试从一个数据库中检索帖子,并将其从另一个安装中检索到一个页面中。新数据库是另一个基本的Wordpress数据库。这起作用并为我带来数据:$query = \" SELECT * FROM wp_posts WHERE post_type=\'post\' AND p