Estou tentando recuperar informações no meu banco de dados. Eu queria exibir tudo pages
usando essa declaração, mas estou ficando em brancoARRAY
global $wpdb;
$result = $wpdb->get_results (
"
SELECT *
FROM $wpdb->wp_posts
WHERE post_type = 'page'
"
);
echo $result; // display data
Resultado:
ARRAY
EDIT : Depois de alterar as sugestões abaixo, agora estou usando isso. mas ainda não obtive resultados:
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
com chaves, por exemplo.{$wpdb->wp_posts}
..Respostas:
fonte
echo $result
apenas para ter certeza de que estou recuperando dados doquery
que recebo é imprimirArray
. Quando eu uso,echo $page->ID
não recebo nada. im realmente não sei porquê ..$tablename = $wpdb->prefix.'posts';
essa parte não estava na documentação do codex. você pode me explicar por que isso funciona?Você tem um pequeno mal-entendido:
Ao chamar
$wpdb
, você obtém uma lista de propriedades que contêm os nomes principais das tabelas:Portanto, sua consulta final ficaria assim :
fonte
$wpdb->prefix
não deve ser usado para tabelas internas. Basta ligar diretamente para eles. Corrigida, esta é a resposta dele também.Tente o seguinte código. Eu enfrentei o problema semelhante e o resolvi removendo o $ wpdb do campo 'FROM'.
fonte
Por "Matriz em branco", você quer dizer uma 'matriz vazia' ou é a saída 'ARRAY'. Se for o último, então, é o resultado esperado. Você precisa percorrer esse array e exibir os resultados de acordo.
Referência: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
fonte