Próbuję pobrać informacje z mojej bazy danych. Chciałem wyświetlić wszystkie pages
za pomocą tego oświadczenia, ale dostaję pustkęARRAY
global $wpdb;
$result = $wpdb->get_results (
"
SELECT *
FROM $wpdb->wp_posts
WHERE post_type = 'page'
"
);
echo $result; // display data
Wynik:
ARRAY
EDYCJA : Po zmianie poniższych sugestii, teraz używam tego. ale nadal nie otrzymuję żadnych wyników:
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
nawiasami klamrowymi, tj.{$wpdb->wp_posts}
..Odpowiedzi:
źródło
echo $result
tylko upewnić, że odbieram dane z tego,query
co otrzymuję, to wydrukArray
. kiedy używam,echo $page->ID
nic nie dostaję. Naprawdę nie jestem pewien, dlaczego ..$tablename = $wpdb->prefix.'posts';
ta część nie była w dokumentacji kodeksu. czy możesz mi wyjaśnić, dlaczego to działa?Masz niewielkie nieporozumienie:
Podczas wywoływania
$wpdb
otrzymujesz listę właściwości, które zawierają podstawowe nazwy tabel:Więc twój ostateczny zapytanie będzie wyglądać jak poniżej:
źródło
$wpdb->prefix
nie należy go używać w przypadku wbudowanych tabel. Zadzwoń do nich bezpośrednio. Naprawiono, że to także jego odpowiedź.Wypróbuj następujący kod. Napotkałem podobny problem i rozwiązałem go, usuwając $ wpdb z pola „FROM”.
źródło
Przez „pustą tablicę” rozumiesz „pustą tablicę”, czy jest to wynik „ARRAY”. Jeśli jest to ten drugi, to jest to oczekiwany wynik. Musisz przejrzeć tę tablicę i odpowiednio wyświetlić wyniki.
Odniesienie: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
źródło