web-dev-qa-db-fra.com

$ wpdb-> wp_users renvoyant une valeur vide pour

J'ai un code Exemple:

function custom_func(){
    global $wpdb;
    $wpdb->flush();     //tried with and without this line
    $getTest = 'SELECT * FROM $wpdb->wp_users LIMIT 1';
    $arrayReturned = $wpdb->get_results($wpdb->prepare($getTest));
}

D'après ce que j'ai lu, je pense que $ wpdb-> wp_users est censé avoir renvoyé le nom de la base de données et le nom de la table, comme so dbName.tableName; mais il ne retourne qu'une valeur vide.

J'ai essayé:

$getTest = 'SELECT * FROM $wpdb->wp_users LIMIT 1';

qui montre comme suit à wordpress:

SELECT * FROM $wpdb->wp_users LIMIT 1

et

$getTest = 'SELECT * FROM '.$wpdb->wp_users.' LIMIT 1';

qui montre comme suit à wordpress:

SELECT * FROM  LIMIT 1

Je ne peux pas comprendre pourquoi cela ne fonctionne pas puisque tout cela est basé sur la littérature du codex wordpress, des idées?

1
VikingGoat

Tout d’abord, pourquoi vous auriez besoin d’une requête personnalisée pour cette fonctionnalité de base afin d’obtenir des utilisateurs, alors que WordPress possède une fonction intégrée get_users ().

Quoi qu’il en soit pour une requête personnalisée, le nom de la table est défini comme suit:

function custom_func(){
 global $wpdb;
 $getTest = "SELECT * FROM $wpdb->users LIMIT 1";
 $arrayReturned = $wpdb->get_results($wpdb->prepare($getTest));
}

C'est $ wpdb-> utilisateurs ou $ wpdb-> post et non $ wpdb-> wp_users , ce que vous utilisez pour un nom de table, dans des requêtes personnalisées .

J'ai aussi utilisé les guillemets doubles "" pour la requête et non les guillemets simples '' , vous pouvez lire ici

0
sven