我在指向Wordpress中的数据库时遇到问题。我试图包含全局$ wpdb,但它不起作用。我还为wp-load.php
,wp-db.php
,wp-config.php完成了PHP包含,但仍无法修复。
它说,
致命错误:在非对象上调用成员函数get_results() 在 C:\ XAMPP \ htdocs中\ WordPress的\可湿性粉剂内容\主题\ cv_test \ searchresult_details.php 第47行
抱歉,我是Wordpress开发的初学者。任何帮助表示赞赏。感谢。
include_once('http://localhost/wordpress/wp-config.php');
include_once('http://localhost/wordpress/wp-load.php');
include_once('http://localhost/wordpress/wp-includes/wp-db.php');
function retrieveClientDesc()
{
global $wpdb;
$query = "SELECT client_desc FROM wp_client WHERE client_name = 'Cal'";
$result = $wpdb->get_results($query, OBJECT);
for($i = 0; $i<=count($result); $i++)
{
$clientDesc = ($result[$i]->client_desc);
echo $clientDesc;
}
print_r($result);
}
这是代码的一部分。它一直说我的$ result部分有一个致命的错误。
答案 0 :(得分:2)
我曾经遇到过这个问题,这就是我能够解决的问题。
global $wpdb, $table_prefix;
if(!isset($wpdb))
{
//the '../' is the number of folders to go up from the current file to the root-map.
require_once('../../wp-config.php');
require_once('../../wp-includes/wp-db.php');
}
答案 1 :(得分:1)
感谢各位的帮助。虽然管理过这个问题。
include_once($_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-load.php' );
答案 2 :(得分:0)
将global $wpdb;
替换为$wpdb = new WPDB;
。 wpdb对象尚未启动。
答案 3 :(得分:0)
从$wpdb->get_results( $query );
中删除参数对象,然后尝试使用下面的代码
global $wpdb;
$table = "{$wpdb->prefix}client"
$query = "SELECT client_desc FROM wp_client WHERE client_name = 'Cal'";
$result = $wpdb->get_results( $query );