Blog

Como Consultar Dados no BD do WordPress usando a Classe wpdb?

Como Consultar Dados no BD do WordPress?
Coding

Como Consultar Dados no BD do WordPress usando a Classe wpdb?

Quero mostrar a você nesse post Como consultados dados no BD do WordPress diretamente em tabelas MySQL usando a Classe wpdb.

Essa classe de objetos de dados nativa do WordPress permite executar facilmente várias ações no banco de dados MySQL.

Basicamente quando você chamar a classe wpdb, você vai fazer uma solicitação do arquivo includes/wp-db.php.

Portanto, para executar consultas SQL, vamos usar essa classe incrível, primeiro instanciando-a, em seguida usando alguns dos seus muitos métodos.

Você pode ver a lista de métodos aqui.

Na verdade, o que precisamos fazer para usar essa classe é usar a variável global $wpdb antes de rodar qualquer função da classe.

global $wpdb;

Como executar consultas no Banco de Dados do WordPress?

Depois que chamamos nossa variável global $wpdb podemos já executar algumas funções – ou métodos – da classe wpdb.

Um dos mais usados talvez seja o método $wpdb->query que serve para rodar qualquer comando SQL, mas é muito utilizado para SELECT e DELETE.

$wpdb->query : Qualquer consulta MySQL

$wpdb->query($wpdb->prepare ("DELETE FROM $wpdb->tabelaDesejada WHERE ID = 1" ));

Como você pode ver no código acima, usamos tabelaDesejada para referenciar uma tabela do banco de dados na nossa consulta.

$wpdb->get_var : Retorna uma única variável

$count_posts = $wpdb->get_var( $wpdb->prepare(" SELECT COUNT(*) FROM $wpdb->wp_posts" ));
echo "$count_posts";

Perceba acima que, como estamos fazendo um SELECT apenas para contar o número de registros, podemos usar o método get_var para esse propósito.

$wpdb->get_row : Retorna uma única linha

Se você quer buscar apenas um registro em uma tabela, basta usar o método get_row().

Tem um truquezinho aqui que você pode usar que é passar os parâmetros PRODUCT_ARRAY ou PRODUCT_ARR_ALL no final do método.

Já que o retorno do get_row é um objeto, você pode usar esses dois parâmetros para retornar um array associativo ou com índice numérico, respectivamente:

$wpdb->get_row( $wpdb->prepare( "SELECT * from $wpdb->posts WHERE ID=1"), PRODUCT_ARRAY );

$wpdb->get_results : Retorna múltiplas linhas

Vimos acima o método para retornar uma única linha, mas aqui está o método para retornar múltiplas linhas:

$wpdb->get_results( $wpdb->get_results( $wpdb->prepare( " SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish' "));

É fácil ver que estamos fazendo uma consulta no WordPress para buscar todos os posts publicados – Isso retorna um objeto.

$wpdb->insert : Inserir registro

Para adicionar um registro a uma tabela no WordPress é muito simples com o método insert()

$wpdb->insert($table, $data);

Note que estamos passando uma variável que vai conter o nome da tabela (table) e uma para passar os dados a serem inseridos ($data).

$wpdb->update : Atualiza um registro

Para atualizar um registro a uma tabela no WordPress é muito simples com o método update()

$wpdb->update( $table, $data, $where );

$wpdb->num_rows : Retorna o número de linhas

Se você quer saber o número de linhas que uma consulta retornaria, basta usar o método num_rows().

$wpdb->insert($table, $data);

$wpdb->print_error : Exibe erros de SQL

Se você deseja debugar seus comandos SQL, pode usar o método print_error() para mostrar qualquer erro com seu SQL:

$wpdb->show_errors();

//Ex:ID (3000) inexistente:
$wpdb->get_row( $wpdb->prepare(" SELECT * FROM $wpdb->posts WHERE ID = 3000"); 
$wpdb->print_error();

Você pode usar o método show_errors() antes de executar a consulta SQL e o print_error() logo após a execução.

$wpdb->last_query : Imprime a última consulta

Isso pode ser bem útil quando uma determinada consulta não está funcionado da forma esperada:

var_dump( $wpdb->last_query ); 

Esse foi um guia bem rápido de utilização da classe wpdb e você pode deixar suas dúvidas nos comentários abaixo.

Vamos utilizar bastante essa classe para vários objetivos nos próximos posts, então, vale a pena você dar uma estudada nela.

Grande abraço,

Deixe seu comentário aqui...

O seu endereço de e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Nosso site usa cookies e, portanto, coleta informações sobre sua visita para melhorar nosso site (por meio de análise), mostrar a você conteúdo de mídia social e anúncios relevantes. Por favor, consulte nossa página Termos & Políticas para mais detalhes ou concorde clicando no botão 'Aceitar'. OBS: Ao continuar a navegação, você, automaticamente, concorda.

Configurações de Cookies

Abaixo, você pode escolher os tipos de cookies que quer permitir neste site. Clique no botão "Salvar Configurações de Cookies" para aplicar sua escolha.

FuncionalNosso site usa cookies funcionais. Esses cookies são necessários para permitir que nosso site funcione.

AnalíticoNosso site usa cookies analíticos para permitir a análise de nosso site e a otimização para o propósito de a.o. a usabilidade.

Mídia SocialNosso site coloca cookies de mídia social para mostrar conteúdo de terceiros, como YouTube e Facebook. Esses cookies podem rastrear seus dados pessoais.

PublicidadeNosso site coloca cookies de publicidade para mostrar anúncios de terceiros com base em seus interesses. Esses cookies podem rastrear seus dados pessoais.

OutrosNosso site coloca cookies de terceiros de outros serviços que não são analíticos, mídia social ou publicidade.