J'essaie de récupérer des informations sur ma base de données. Je voulais afficher tout en pages
utilisant cette déclaration, mais je reçois un blancARRAY
global $wpdb;
$result = $wpdb->get_results (
"
SELECT *
FROM $wpdb->wp_posts
WHERE post_type = 'page'
"
);
echo $result; // display data
Production:
ARRAY
EDIT : Après avoir modifié les suggestions ci-dessous, je l'utilise maintenant. mais je n'obtiens toujours aucun résultat:
global $wpdb;
$posts = $wpdb->wp_posts;
$result = $wpdb->get_results( " SELECT * FROM $posts WHERE 'post_type' = 'page' " );
foreach ($result as $page) {
echo $page->ID.'<br/>';
}
$wpdb->wp_posts
avec des accolades bouclées, par exemple.{$wpdb->wp_posts}
..Réponses:
la source
echo $result
juste de m'assurer que je récupère les données de cequery
que j'obtiensArray
. quand j'utiliseecho $page->ID
je ne reçois rien. je ne sais vraiment pas pourquoi ..$tablename = $wpdb->prefix.'posts';
cette partie n'était pas dans la documentation du codex. pouvez-vous m'expliquer pourquoi cela fonctionne?Vous avez un léger malentendu:
Lors de l'appel
$wpdb
, vous obtenez une liste de propriétés qui contiennent les noms principaux des tables:Donc, votre requête finale ressemblerait à ceci:
la source
$wpdb->prefix
ne devrait pas être utilisé pour les tables intégrées. Appelez-les directement. Correction de sa réponse également.Essayez le code suivant. J'ai fait face au problème similaire et l'ai résolu en supprimant $ wpdb du champ 'FROM'.
la source
Par «tableau vide», vous voulez dire un «tableau vide» ou est la sortie «ARRAY». Si c'est ce dernier alors, c'est la sortie attendue. Vous devez parcourir ce tableau et afficher les résultats en conséquence.
Référence: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
la source