Estou procurando uma maneira pela qual eu possa imprimir a consulta sql executada logo após o:
$wpdb->query(
$wpdb->prepare("INSERT
INTO tbl_watchprosite SET
keywords=%s,url_to_post=%s,description=%s,
date_captured=%s,crawl_id=%d,
image_main=%s,images=%s,brand=%s,
series=%s,model=%s,condition=%s,box=%s,
papers=%s,year=%s,case_size=%s,status=%s,listed=%s,
asking_price=%s,retail_price=%s,payment_info=%s,forum_id=%d",
$this->getForumSettings()->search_meta,$element->href,$post_meta['description'],current_time('mysql'),$cid,$post_meta['image_main'],$images,$post_meta[0],$post_meta[1],$post_meta[2],$post_meta[3],$post_meta[4],$post_meta[5],$post_meta[6],$post_meta[7],$status,$post_meta[9],$post_meta[10],$post_meta[11],$this->getForumSettings()->ID)
);
Isso seria ótimo se eu pudesse ver quais valores estão indo na consulta.
obrigado
Respostas:
O
$wpdb
objeto tem algumas propriedades sendo definidas para isso:Nota: Antes de tudo, você deve definir
define( 'SAVEQUERIES', true );
seuwp-config.php
arquivo na pasta raiz do WordPress.fonte
defined( 'SAVEQUERIES', true );
em suawp-config.php
ou algo parecido! defined( 'SAVEQUERIES' ) AND defined( 'SAVEQUERIES', true );
em seu script? Senão, não vai funcionar.Eu listei três abordagens aqui:
SAVEQUERIES
e imprimindo todas as consultas no rodapé$wpdb->last_query
para imprimir apenas a última consulta executada, isso é útil para funções de depuração.Você precisaria adicionar isso no seu wp-config.php
Em seguida, no rodapé do seu tema, adicione este código:
Ou, se desejar imprimir apenas a última consulta executada, use-a logo abaixo da
$wpdb
chamada de função de consulta.Uma terceira abordagem seria usar um plug-in como o Query Monitor, que lista todas as consultas executadas em uma página em detalhes e outros detalhes associados, como quantas linhas ela retorna e o tempo necessário para a execução ou se é uma consulta lenta. http://wordpress.org/plugins/query-monitor/
É uma boa ideia usar este plug-in apenas no ambiente DEV e não deve ser ativado em um site ativo. Além disso, o Query Monitor às vezes pode causar problemas com sua página, como o erro 5XX no seu modelo / página, se houver muitos erros.
fonte
Você precisa adicionar as duas funções, caso contrário, nunca mostrará erro
Esta função mostrará um erro adequado como este
fonte
Queria acrescentar que a melhor resposta votada por @kaiser não está totalmente correta:
O retorno é ARRAY , não uma string. Portanto, para gerar a última consulta, você deve fazer isso:
fonte