web-dev-qa-db-fra.com

La variable $ wpdb renvoie cette erreur. Appel à une fonction membre get_results () sur un non-objet dans

J'ai cette erreur "Appel à une fonction membre get_results () sur un non-objet dans" de ce code:

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;
    }
}

Les paramètres de la base de données sont chargés avec succès, mais j'ai l'erreur sur la ligne ci-dessus lorsque j'utilise la variable $ wpdb:

 $order_ids = $wpdb->get_results( 
1
GabrieleU

Il s'agit d'une variable PHP _ issue, il n'y a pas de $wpdb défini dans votre fonction.

Ajouter

global $wpdb;

avant d'essayer d'utiliser l'objet $wpdb.

6
Milo