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?
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