WordPress.org

Idiomas: inglês • Italiano • 日本語 Русский • 中文(简体) • 中文(繁體) • 한국어 • (Adicionar o seu idioma)

Falar para o Banco de dados: wpdb Classe

WordPress define uma classe chamada wpdb, que contém um conjunto de funções utilizadas para interagir com um banco de dados. Seu principal objetivo é fornecer uma interface com o banco de dados WordPress, mas pode ser usado para se comunicar com qualquer outro banco de dados apropriado. O código fonte da classe é vagamente baseado na classe ezSQL; escrito e mantido por Justin Vincent

usando o objeto $wpdb

Aviso: os métodos na classe wpdb() não devem ser chamados diretamente. Use o objeto global $wpdb em vez disso!

WordPress fornece uma variável objeto global, $wpdb, que é uma instanciação da classe wpdb definida em / wp-includes / wp-db.pai. Por padrão, $wpdb está instanciado para falar com o banco de dados WordPress. Para acessar $wpdb em seu código WordPress PHP, declare $wpdb como uma variável global usando o global keyword , ou use o superglobal $GLOBALS da seguinte forma:

// 1st Method - Declaring $wpdb as global and using it to execute an SQL query statement that returns a PHP objectglobal $wpdb;$results = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}options WHERE option_id = 1", OBJECT );// 2nd Method - Utilizing the $GLOBALS superglobal. Does not require global keyword ( but may not be best practice )$results = $GLOBALS->get_results( "SELECT * FROM {$wpdb->prefix}options WHERE option_id = 1", OBJECT );

o objeto $wpdb não se limita às tabelas padrão criadas pelo WordPress; ele pode ser usado para ler dados de qualquer tabela no banco de dados WordPress (como tabelas de plugins personalizadas). Por exemplo, para selecionar algumas informações de uma tabela personalizada chamada “mytable”, você pode fazer o seguinte.

$myrows = $wpdb->get_results( "SELECT id, name FROM mytable" );

o objeto $wpdb pode falar com qualquer número de tabelas, mas apenas com um banco de dados de cada vez; por padrão o banco de dados WordPress. No caso raro, você precisa se conectar a outro banco de dados, você precisará instanciar seu próprio objeto a partir da classe wpdb com sua própria informação de conexão de banco de dados. Para Configurações extremamente complicadas com muitas bases de dados, considere usar hyperdb em vez disso.

um aviso

algumas das funções nesta classe tomam uma declaração SQL como entrada. Deve evitar que o SQL escape a todos os valores não confiáveis que incorpora na consulta SQL para evitar ataques de injecção de SQL. Verifique a documentação para ver se a função que pretende utilizar escapa ao SQL para si ou espera que seja pré-evadida.

para mais informações sobre a fuga de SQL no WordPress, consulte a secção intitulada “proteger consultas contra ataques de injeção de SQL” abaixo.

seleccione uma variável

a função get_var devolve uma única variável da base de dados. Embora apenas uma variável seja retornada, o resultado inteiro da consulta é Cache para uso posterior. Devolve nulo se não for encontrado nenhum resultado.

<?php $wpdb->get_var( 'query', column_offset, row_offset ); ?>

pesquisa (string) a pesquisa que deseja executar. A configuração deste parâmetro paranullirá devolver a variável especificada a partir dos resultados em cache da consulta anterior. column_offset (inteiro) a coluna desejada (0 sendo a primeira). O valor por omissão é 0. row_offset (inteiro) a linha desejada (0 sendo a primeira). O valor por omissão é 0.

exemplos

recuperam e exibem o número de utilizadores.

<?php$user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );echo "<p>User count is {$user_count}</p>";?>

recuperar e mostrar a soma de um valor de campo personalizado.

<?php// set the meta_key to the appropriate custom field meta key$meta_key = 'miles';$allmiles = $wpdb->get_var( $wpdb->prepare( "SELECT sum(meta_value) FROM $wpdb->postmeta WHERE meta_key = %s", $meta_key) );echo "<p>Total miles is {$allmiles}</p>";?> 

selecione uma linha

para recuperar uma linha inteira de uma consulta, use get_row. A função pode retornar a linha como um objeto, um array associativo, ou como um array numericamente indexado. Se mais de uma linha é retornada pela consulta, apenas a linha especificada é retornada pela função, mas todas as linhas são cache para uso posterior. Retorna nulo se não for encontrado nenhum resultado, considere isso ao usar o valor retornado em argumentos, veja o exemplo abaixo.

<?php $wpdb->get_row('query', output_type, row_offset); ?>

pesquisa (string) a pesquisa que deseja executar. output_type um de três constantes pré-definidas. O valor por omissão é o objecto.

  • o resultado do objeto será a saída como um objeto.
  • ARRAY_A-result will be output as an associative array.
  • o resultado do ARRAY_N será obtido como um array indexado numericamente.

row_offset (inteiro) a linha desejada (0 sendo a primeira). O valor por omissão é 0.

exemplos

Obtenha toda a informação sobre a ligação 10.

$mylink = $wpdb->get_row( "SELECT * FROM $wpdb->links WHERE link_id = 10" );

as propriedades do objeto $mylink são os nomes de colunas do resultado da consulta SQL (neste exemplo, todas as colunas da tabela $wpdb->links, mas você também poderia pesquisar apenas para colunas específicas).

echo $mylink->link_id; // prints "10"

Em contraste, o uso de

$mylink = $wpdb->get_row( "SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A );

resultaria em uma matriz associativa:

echo $mylink; // prints "10"

e

$mylink = $wpdb->get_row( "SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_N );

resultaria em um indexadas numericamente matriz:

echo $mylink; // prints "10"

se não houver registro com ID 10 na tabela de links, null será devolvido. O seguinte seria então falso:

if ( null !== $mylink ) { // do something with the link return true;} else { // no link found return false;}

seleccione uma coluna

para seleccionar uma coluna, utilize get_col. Esta função produz um array unidimensional. Se mais de uma coluna é retornada pela consulta, apenas a coluna indicada será retornada pela função, mas o resultado inteiro é Cache para uso posterior. Devolve uma lista vazia se não for encontrado nenhum resultado.

<?php $wpdb->get_col( 'query', column_offset ); ?>

pesquisa (string) a pesquisa que deseja executar. Se configurar este parâmetro paranullirá devolver a coluna indicada a partir dos resultados em cache da consulta anterior. column_offset (inteiro) a coluna desejada (0 sendo a primeira). O valor por omissão é 0.

exemplos

por este exemplo, suponha que o blog é dedicado à informação sobre automóveis. Cada post descreve um determinado carro (por exemplo, 1969 Ford Mustang), e três campos personalizados, fabricante, modelo e ano, são atribuídos a cada post. Este exemplo irá exibir os títulos post, filtrados por um determinado fabricante (Ford), e classificados por modelo e ano.

a forma get_col da classe wpdb é usada para retornar um array de todos os ids post que cumprem os critérios e ordenados na ordem correta. Em seguida, uma construção foreach é usada para iterar através dessa matriz de ids post, exibindo o título de cada post. Note que o SQL para este exemplo foi criado por Andomar.

<?php $meta_key1= 'model';$meta_key2= 'year';$meta_key3= 'manufacturer';$meta_key3_value= 'Ford';$postids=$wpdb->get_col( $wpdb->prepare( "SELECT key3.post_idFROM $wpdb->postmeta key3INNER JOIN $wpdb->postmeta key1 ON key1.post_id = key3.post_id AND key1.meta_key = %s INNER JOIN $wpdb->postmeta key2 ON key2.post_id = key3.post_id AND key2.meta_key = %sWHERE key3.meta_key = %s AND key3.meta_value = %sORDER BY key1.meta_value, key2.meta_value",$meta_key1, $meta_key2, $meta_key3, $meta_key3_value) ); if ( $postids ) {echo "List of {$meta_key3_value}(s), sorted by {$meta_key1}, {$meta_key2}";foreach ( $postids as $id ) { $post = get_post( intval( $id ) );setup_postdata( $post );?><p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p><?php} }?>

este exemplo lista todas as publicações que contêm um determinado campo personalizado, mas ordenadas pelo valor de um segundo campo personalizado.

<?php// List all posts with custom field Color, sorted by the value of custom field Display_Order// does not exclude any 'post_type'// assumes each post has just one custom field for Color, and one for Display_Order$meta_key1 = 'Color';$meta_key2 = 'Display_Order';$postids = $wpdb->get_col( $wpdb->prepare( "SELECT key1.post_idFROM $wpdb->postmeta key1INNER JOIN $wpdb->postmeta key2 ON key2.post_id = key1.post_id AND key2.meta_key = %sWHERE key1.meta_key = %sORDER BY key2.meta_value+(0) ASC", $meta_key2,$meta_key1) ); if ( $postids ) {echo "List of {$meta_key1} posts, sorted by {$meta_key2}";foreach ( $postids as $id ) {$post = get_post( intval( $id ) );setup_postdata( $post );?><p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p><?php}}?>

selecione resultados genéricos

Generic, multiple row results can be pulled from the database with get_results. A função retorna todo o resultado da consulta como um array. Cada elemento deste array corresponde a uma linha do resultado da consulta e, como get_row, pode ser um objeto, um array associativo, ou um array numerado. Se não forem encontradas linhas correspondentes, ou se houver um erro na base de dados, o valor de retorno será uma matriz vazia. Se o seu texto de pesquisa $estiver vazio, ou se passar por um tipo $output_type inválido, o NULL será devolvido.

<?php $wpdb->get_results( 'query', output_type ); ?>

pesquisa (string) a pesquisa que deseja executar. output_type um de quatro constantes pré-definidas. O valor por omissão é o objecto. Veja selecione uma linha e seus exemplos para mais informações.

  • o resultado do objeto será resultado como uma matriz numérica indexada de objetos de linha.
  • OBJECT_K-result will be output as an associative array of row objects, using first column’s values as keys (duplicates will be discarded).
  • ARRAY_A-result will be output as a numerically indexed array of associative arrays, using column names as keys.
  • o resultado do ARRAY_N será dado como um array numericamente indexado de arrays numericamente indexados.

uma vez que esta função usa a função $wpdb->query() todas as variáveis de classe são corretamente definidas. O número de resultados de uma consulta ‘SELECT’ será armazenado em $wpdb->num_ cows.

Examples

Get the IDs and Titles of all the rascunhos by User 5 and echo the Titles.

$fivesdrafts = $wpdb->get_results( "SELECT ID, post_title FROM $wpdb->postsWHERE post_status = 'draft' AND post_author = 5");foreach ( $fivesdrafts as $fivesdraft ) {echo $fivesdraft->post_title;}

obtenha todas as informações sobre os rascunhos pelo Utilizador 5.

<?php$fivesdrafts = $wpdb->get_results( "SELECT * FROM $wpdb->postsWHERE post_status = 'draft' AND post_author = 5");if ( $fivesdrafts ){foreach ( $fivesdrafts as $post ){setup_postdata( $post );?><h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permalink: <?php the_title(); ?>"><?php the_title(); ?></a></h2><?php}}else{?><h2>Not Found</h2><?php}?>

Inserir linha

Inserir linha numa tabela.

<?php $wpdb->insert( $table, $data, $format ); ?>

tabela (texto) o nome da tabela para inserir dados. dados (lista) dados a inserir (na coluna => pares de valores). Tanto as colunas de dados $como os valores de dados $devem ser ” raw ” (nenhum deve ser SQL escapado). format (array|string) (opcional) uma lista de formatos a serem mapeados para cada um dos valores em $data. Se string, esse formato será usado para todos os valores em $data. Se omitido, todos os valores em $data serão tratados como strings, salvo indicação em contrário no wpdb::$field_ types.

valores de formato possíveis :% s como texto; % d como número inteiro; e %f como vírgula flutuante. (Ver abaixo para mais informações.)

após a inserção, o ID gerado para a coluna AUTO_INCREMENT pode ser acedido com:

$wpdb->insert_id

esta função devolve falso se a linha não puder ser inserida. Caso contrário, devolve o número de linhas afectadas (que será sempre 1).

por favor note: a parte do valor da coluna do parâmetro de dados= >os pares de valores devem ser escalares. Se passar um array (ou objecto) como um valor a ser inserido, irá gerar um aviso semelhante ao “mysql_real_escape_string () espera que o parâmetro 1 seja um texto, um array dado na linha 880 no ficheiro /var/www/html/wp-includes/wp-db.pai”.

exemplos

inserir duas colunas numa linha, sendo o primeiro valor uma cadeia e o segundo um número:

$wpdb->insert( 'table', array( 'column1' => 'value1', 'column2' => 123 ), array( '%s', '%d' ) );

substituir a linha

substituir uma linha numa tabela se existir ou inserir uma nova linha numa tabela se a linha ainda não existir.

<?php $wpdb->replace( $table, $data, $format ); ?>

tabela (texto) o nome da tabela para substituir os dados. dados (lista) a substituir (na coluna => pares de valores). Tanto as colunas de dados $como os valores de dados $devem ser ” raw ” (nenhum deve ser SQL escapado). format (array|string) (opcional) uma lista de formatos a serem mapeados para cada um dos valores em $data. Se string, esse formato será usado para todos os valores em $data. Se omitido, todos os valores em $data serão tratados como strings, salvo indicação em contrário no wpdb::$field_ types.

valores de formato possíveis :% s como texto; % d como número inteiro; e %f como vírgula flutuante. (Ver abaixo para mais informações.)

If the length of a string element in the $data array parameter is longer that the defined length in the MySql database table, the insert will fail, this function will return false, but $wpdb->last_ error will not be set to a descriptive message. Você deve garantir que os dados que deseja inserir irão caber no banco de dados – não assumir que o MySql irá truncar os dados.

após a substituição, o ID gerado para a coluna AUTO_INCREMENT pode ser acedido com:

$wpdb->insert_id

esta função devolve uma contagem para indicar o número de linhas afectadas. Esta é a soma das linhas apagadas e inseridas. Se a contagem for 1 para uma substituição de uma única linha, foi inserida uma linha e nenhuma linha foi apagada. Se a contagem for maior que 1, uma ou mais linhas antigas foram apagadas antes da nova linha ser inserida. É possível que uma única linha substitua mais de uma linha antiga se a tabela contém vários índices únicos e a nova linha duplica valores para diferentes linhas antigas em diferentes índices únicos.

esta função devolve falso se não for possível substituir uma linha existente e não for possível inserir uma nova linha.

exemplos

substituir uma linha, sendo o primeiro valor a linha id, o segundo a string e o terceiro um número:

$wpdb->replace( 'table', array( 'indexed_id' => 1,'column1' => 'value1', 'column2' => 123 ), array( '%d','%s', '%d' ) );

actualizar as linhas

actualizar uma linha na tabela. Devolve false se houver erros ou o número de linhas afectadas se for bem sucedido.

<?php $wpdb->update( $table, $data, $where, $format = null, $where_format = null ); ?>

tabela (texto) o nome da tabela a actualizar. dados (lista) a actualizar (na coluna => pares de valores). Tanto as colunas de dados $como os valores de dados $devem ser ” raw ” (nenhum deve ser SQL escapado). Isto significa que se você estiver usando dados GET ou POST você pode precisar usar listras() para evitar que as barras acabem na base de dados. em que (Matriz) uma matriz nomeada de onde as cláusulas (na coluna => pares de valores). Várias cláusulas serão unidas com ANDs. Tanto $onde colunas e $onde os valores devem ser “raw”. format (array|string) (opcional) uma lista de formatos a serem mapeados para cada um dos valores em $data. Se string, esse formato será usado para todos os valores em $data. wher_ format (array|string) (opcional) um conjunto de formatos a mapear para cada um dos valores em $where. Se string, esse formato será usado para todos os itens em $where.

valores de formato possíveis :% s como texto; % d como número inteiro e % f como vírgula flutuante. (Ver abaixo para mais informações.) Se omitido, todos os valores em $onde serão tratados como strings.

valores de retorno: Esta função retorna o número de linhas atualizadas, ou false se houver um erro. Tenha em mente que se os dados $corresponder ao que já está na base de dados, nenhuma linha será atualizada, então 0 será devolvido. Devido a isso, você provavelmente deve verificar o retorno com false === $result

Exemplos

Atualizar uma linha, onde o ID é 1, o valor na primeira coluna é uma seqüência de caracteres e o valor na segunda coluna é um número:

$wpdb->update( 'table', array( 'column1' => 'value1',// string'column2' => 'value2'// integer (number) ), array( 'ID' => 1 ), array( '%s',// value1'%d'// value2), array( '%d' ) );

Atenção: %d não pode lidar com vírgula valores – se você não estiver usando números inteiros, use a seqüência de caracteres%s.

apagar as linhas

a função de remoção foi adicionada no WordPress 3.4.0, e pode ser usada para excluir linhas de uma tabela. A utilização é muito semelhante à atualização e inserção. Retorna o número de linhas atualizadas, ou false em erro.

Utilização

<?php $wpdb->delete( $table, $where, $where_format = null ); ?>

parâmetros

$table (texto) (Obrigatório) nome da tabela. Por omissão: None $onde (array) (obrigatório) um array nomeado de onde cláusulas (na coluna -> pares de valores). Várias cláusulas serão unidas com ANDs. Tanto $onde colunas e $onde os valores devem ser ‘raw’. Padrao: Nenhum $wher_ format (string/array) (opcional) uma lista de formatos a mapear para cada um dos valores em $where. Se uma string, esse formato será usado para todos os itens em $where. Um formato é um de ‘% d’,’ %f’,’ %s ‘ (inteiro, flutuante, string; veja abaixo para mais informações). Se omitido, todos os valores em $onde serão tratados como strings, salvo indicação em contrário no wpdb::$field_ types. Por omissão: null

exemplos

// Default usage.$wpdb->delete( 'table', array( 'ID' => 1 ) );// Using where formatting.$wpdb->delete( 'table', array( 'ID' => 1 ), array( '%d' ) );

a execução de consultas gerais

a função query permite-lhe executar qualquer consulta SQL na base de dados WordPress. É melhor usado quando há necessidade de consultas SQL específicas, personalizadas ou de outra forma complexas. Para consultas mais básicas, como selecionar informações de uma tabela, veja as outras funções wpdb acima, tais como get_results, get_var, get_row or get_col.

sintaxe geral

<?php $wpdb->query('query'); ?>

pesquisa (string) a pesquisa SQL que deseja executar.

esta função devolve um valor inteiro indicando o número de linhas afectadas/seleccionadas para seleccionar, inserir, apagar, actualizar, etc. Para criar, alterar, truncar e DROP SQL, (que afectam tabelas inteiras em vez de linhas específicas) esta função retorna TRUE no sucesso. Se um erro MySQL for encontrado, a função retornará FALSE. Note que uma vez que tanto 0 quanto FALSE podem ser devolvidos para consultas de linha, você deve ter cuidado ao verificar o valor de retorno. Use o operador de identidade (===) para verificar se há erros (por exemplo, false === $result), e se quaisquer linhas foram afetadas (por exemplo, 0 === $result).

exemplos

apague a chave meta’ gargle ‘ e o valor do Post 13. (Vamos adicionar o método ‘preparar’ para ter certeza de que não estamos lidando com uma operação ilegal ou quaisquer personagens ilegais):

$wpdb->query( $wpdb->prepare( " DELETE FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s", 13, 'gargle' ));

realizado em WordPress por delete_post_meta().

define o pai da Página 15 à Página 7.

$wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_parent = %dWHERE ID = %dAND post_status = %s", 7, 15, 'static') );

proteger as consultas contra ataques de injeção de SQL

para uma visão mais completa da fuga de SQL no WordPress, veja a validação de dados da base de dados. É uma leitura obrigatória para todos os contribuintes de código WordPress e autores de plugins.

todos os dados nas consultas SQL devem ser SQL-escapados antes da consulta SQL ser executada para prevenir ataques de injeção SQL. O método prepare executa esta funcionalidade para o WordPress, que suporta tanto uma sintaxe semelhante a um sprintf () e vsprintf ().

nota: a partir de 3, 5, wpdb::prepare () aplica um mínimo de 2 argumentos.

<?php $sql = $wpdb->prepare( 'query' , value_parameter ); ?>

pesquisa (string) a pesquisa SQL que deseja executar, com substituições (veja abaixo). value_parameter (int|string|array) o valor a substituir no item de substituição. Muitos valores podem ser passados simplesmente passando mais argumentos de forma semelhante a um sprintf (). Alternatively the second argument can be an array containing the values as in PHP’s vsprintf() function. Deve ter-se o cuidado de não permitir a entrada direta do Usuário para este parâmetro, o que permitiria a manipulação de array de qualquer consulta com vários espaços. Os valores não podem ser escapados por SQL.

substituições

o parâmetro de consulta para o prepare aceita substituições semelhantes às do sprintf (). Os formatos %s (string), %d (inteiro) e %f (float) são suportados. (As substituições %s e %d estão disponíveis desde que a função foi adicionada ao core na versão 2.3, %f só está disponível desde a versão 3.3.) Quaisquer outros caracteres % podem causar erros de processamento, a menos que sejam escapados. Todos os caracteres % dentro dos literais de string SQL, incluindo wildcards, devem ser duplamente % escapados como %%. Todos os %d, %f E % s devem ser deixados não cotados no texto da pesquisa. Lembre-se que o item de substituição %d só aceita inteiros, por isso não poderá passar números que tenham valores de vírgula Através de %D. Se necessitar de valores de vírgula, use o %f como ‘float’ em alternativa.

Examples

Add Meta key = > value pair “Harriet’s Adages” => “WordPress’ database interface is like Sunday Morning: Easy.”para postar 10.

$metakey= "Harriet's Adages";$metavalue= "WordPress' database interface is like Sunday Morning: Easy.";$wpdb->query( $wpdb->prepare( "INSERT INTO $wpdb->postmeta( post_id, meta_key, meta_value )VALUES ( %d, %s, %s )", 10, $metakey, $metavalue ) );

realizado em WordPress por add_meta().

the same query using vsprintf () – like syntax.

$metakey = "Harriet's Adages";$metavalue = "WordPress' database interface is like Sunday Morning: Easy.";$wpdb->query( $wpdb->prepare( "INSERT INTO $wpdb->postmeta( post_id, meta_key, meta_value )VALUES ( %d, %s, %s )", array(10, $metakey, $metavalue) ) );

Note que neste exemplo nós empacotamos os valores juntos em uma matriz. Isto pode ser útil quando não sabemos o número de argumentos que precisamos passar até o tempo de execução.

Notice that you do not have to worry about quoting strings. Em vez de passar as variáveis diretamente para a consulta SQL, use uma substituição %s para strings, uma substituição %d para inteiros, e uma substituição %f para flutuadores. Você pode passar todos os valores que quiser, cada um como um novo parâmetro no método prepare().

mostrar e esconder erros de SQL

pode activar e desactivar erros com os show_errors e hide_errors, respectivamente.

<?php $wpdb->show_errors(); ?>
<?php $wpdb->hide_errors(); ?>

Você também pode imprimir o erro (se existir) gerado pela consulta mais recente com print_error.

<?php $wpdb->print_error(); ?>

Nota: Se você estiver executando o WordPress Multisite, você deve definir o DIEONDBERROR constante de erros de banco de dados para exibir como:
<?php define( 'DIEONDBERROR', true ); ?>

a Obtenção de Informações de Coluna

Você pode obter informações sobre as colunas, o mais recente resultado da consulta com get_col_info. Isto pode ser útil quando uma função devolveu um objeto cujas propriedades Você não conhece. A função irá enviar a informação desejada a partir da coluna indicada, ou um array com informação em todas as colunas do resultado da consulta se nenhuma coluna for especificada.

<?php $wpdb->get_col_info('type', offset); ?>

escreva (texto) a informação que deseja obter. Pode assumir qualquer um dos seguintes valores (lista retirada dos documentos ezSQL). É o nome por omissão.

  • nome-coluna. Padrao.
  • tabela nome da tabela que a coluna pertence a
  • max_length – comprimento máximo da coluna
  • not_null – 1 se a coluna não pode ser NULL
  • primary_key – 1 se a coluna é uma chave primária
  • unique_key – 1 se a coluna é uma chave única
  • multiple_key – 1 se a coluna é uma chave não-exclusivo
  • numérico – 1 se a coluna for numérico
  • blob – 1 se a coluna é um BLOB
  • tipo – o tipo da coluna
  • unsigned – 1 se a coluna não for assinado
  • zerofill – 1 se a coluna é preenchida por zero

offset (inteiro) indique a coluna a partir da qual obter informação (sendo 0 a primeira coluna). Padrão de -1.

  • -1-obter informações de todas as colunas. Saída como matriz. Padrao.
  • inteiro não negativo-recuperar informação de coluna especificada (0 sendo o primeiro).

Clearing the Cache

you can clear the SQL result cache with flush.

<?php $wpdb->flush(); ?>

Isto limpa $wpdb->last_result, $wpdb->last_query, e $wpdb->col_info.

variáveis de classe

$show_ erros Se o eco de erro está ou não ligado. O padrão é verdadeiro. $num_quiri o número de consultas que foram executadas. $last_ query a pesquisa mais recente a ter sido executada. $last_ erro o texto de erro mais recente gerado pelo MySQL. $consultas você pode gravar todas as consultas executadas na base de dados e os seus tempos de paragem, configurando a constante de SAVEQUERIES como TRUE (esta constante por omissão é FALSE). Se SAVEQUERIES for verdadeiro, suas consultas serão armazenadas nesta variável como um array. $last_resulta os resultados mais recentes da pesquisa. $col_info a informação da coluna para os resultados mais recentes da pesquisa. Veja Obter A Informação Da Coluna. o ID $ insert_ ID gerado para uma coluna de auto-encadernação pela pesquisa de inserção mais recente. $num_ ajusta o número de linhas devolvidas pela última pesquisa. $prefixo o prefixo da tabela WordPress atribuído para o site. $base_prefix o prefixo original, tal como definido no wp-config.pai. Para multi-site: Use se você quiser obter o prefixo sem o número do blog adicionado.

variáveis Multi-Site

se você está usando Multi-Site, você também tem acesso ao seguinte:

$blogid o id do site atual (blog). $siteid o id da rede atual (anteriormente “site”). WordPress atualmente só suporta uma rede por instalação multi-site, mas que pode mudar no futuro. Veja o seguinte para mais informações:

  • WordPress: diferença entre site_id e blog_id?
  • http://stackoverflow.com/a/4189358/1924128 – outra boa resposta para a mesma pergunta.

tabelas

as tabelas da Base de dados WordPress são facilmente referenciadas na classe wpdb.

$posts The table of Posts. $postmeta a tabela Meta Content (campos personalizados). $ comments the Comments table. $commentmeta a tabela contém informações adicionais de comentários. $termmeta a tabela termmeta contém o termo meta values. $Termos a tabela de termos contém a ‘descrição’ de categorias, categorias de links, Tags. $term_taxonomia a tabela term_taxonomia descreve as várias taxonomias (classes de termos). Categorias, categorias de links e Tags são taxonomias. $term_relationships a tabela de relações de termo contém a ligação entre o termo e o objeto que usa esse termo, significando este ponto de arquivo para cada categoria usada para cada Post. $ users the table of Users. $usermeta a tabela usermeta contém informações adicionais do usuário, tais como alcunhas, descrições e permissões. $liga a tabela de Links. $ opções a tabela de Opções. Estas tabelas são utilizadas apenas em instalações multisitas. $blogs the Blogs table contains a list of the separate blogs(sites) that have been set up within the network (s). assinam a tabela de inscrições. $site a tabela do Site contém uma lista das redes (anteriormente conhecidas como” sites ” em WPMU) que são configuradas na instalação (normalmente há apenas um site listado nesta tabela). $sitemeta a tabela de Opções de Rede (Site Meta) contém todas as opções que são aplicáveis a toda a instalação multisite. $ sitecategories a tabela de categorias do Site. $registration_log a tabela de Registo. $blog_versions a tabela de versões do Blog.

ficheiro de código

wpdb () está localizado em wp-includes/wp-db.php.

relacionada

  • função de membro: wpdb:: esc_like() – Escape like statements before use in SQL.

Articles

  • Article: The Loop – A basic overview of its use of query within the WordPress loop.
  • artigo: Visão geral da consulta-explicação de como determinar quais consultas gerar WordPress.
  • Artigo: Personalização de Consultas através de Gancho
  • Artigo: Ver Artigos de consulta MYSQL usando personalizado
  • Artigo: Construir consultas avançadas em Taxonomias
  • Artigo: Construir consulta personalizada usando o Deslocamento e a paginação

Código de Documentação

  • Classe: WP_Query – Visão Detalhada de classe WP_Query
  • Classe: WP_Comment_Query – Classe para comentar consultas relacionadas a
  • Classe: WP_User_Query – Classe de usuário para consultas relacionadas com
  • Objeto: $wpdb – Visão geral sobre o uso do $wpdb objeto
  • Função: set_query_var()
  • Função: get_query_var()
  • Função: query_posts() – Cria adicionais consulta personalizada
  • Função: get_post() – Tomar um ID de um item e retornar os registros no banco de dados para que o artigo
  • Função: get_posts() – Uma função especializada que retorna um array de itens
  • Função: get_pages (), Uma função especializada que retorna um array de páginas
  • Função: have_posts() – Uma condição que determina se a consulta retornou um artigo
  • Função: the_post() – Usada para definir automaticamente o ciclo depois de uma consulta
  • Função: rewind_posts() – Limpa o loop de corrente
  • Função: setup_postdata() – Define os dados para um único resultado de consulta dentro de um loop
  • Função: wp_reset_postdata() – Restaura a consulta anterior (geralmente depois de um loop dentro de outro loop)
  • Função: wp_reset_query()
  • Função: is_main_query() – Assegura que a consulta que está sendo alterado apenas o principal consulta
  • Ação Gancho: pre_get_posts – Alterar o WordPress consultas antes de serem executadas
  • Ação Gancho: the_post – para Modificar o post objeto após consulta
  • Gancho de Filtro: found_posts – Altera o valor do objeto found_posts WP_Query

Deixe uma resposta

O seu endereço de email não será publicado.

Previous post Comidas de conforto-porque nos fazem felizes?
Next post Chicago White Sox: Brad Hand wouldn’t be a bad pick up