Error $wpdb: Call to a member function get_results() on a non-object
4 nov 2014, 17:11:16
Vistas: 15.3K
Votos: 2
Tengo este error "Call to a member function get_results() on a non-object in" en este código:
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;
}
}
Los parámetros de la base de datos se cargan correctamente pero obtengo el error en la línea anterior cuando uso la variable $wpdb:
$order_ids = $wpdb->get_results(

GabrieleU
23
Todas las respuestas a la pregunta
2
0
Este es un problema de ámbito de variables en PHP, no hay una variable $wpdb
definida en tu función.
Añade
global $wpdb;
antes de intentar usar el objeto $wpdb
.

Milo
78.9K
4 nov 2014 17:24:59
1
Cuando necesites utilizar la funcionalidad de WordPress fuera de WordPress, puedes usar:
include_once($_SERVER['DOCUMENT_ROOT'].'/wp-load.php');
Luego podrás utilizar la funcionalidad de WordPress. Consulta esto. Si solo necesitas acceder a las funciones de la base de datos, entonces:
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-config.php' );
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-includes/wp-db.php' );
if (!$wpdb) {
$wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
} else {
global $wpdb;
}

Yogesh Bangar
101
27 jun 2019 14:53:17
Preguntas relacionadas
2
respuestas
1
respuestas
2
respuestas