ワードプレスで現在実行中のクエリを確認する方法は何ですか?


12

私は新しいワードプレスに取り組んでいます。今、完全にwpで設計されたサイトが提供されていますが、問題は、見つかった各機能/ページのクエリを検索できないことです

$wpdb->get_results

データベースから結果を取得するためにも使用され、これは機能していません

$wpdb->queries

現在実行中の各クエリを出力する方法はありますか?

助けてください。


実行中のSQLクエリを確認しますか?
Rutwick Gangurde

私は内部を知ることを思いとどまらせるというわけではありませんが、これは答えが非常に異なる別の質問を示唆しています。どのような問題を解決しようとしていますか?
Annika Backstrom

回答:



10

以下のために$wpdb->queries仕事にあなたがして設定する必要がありますwp-config.php

define('SAVEQUERIES', true);

これはプロダクションにはお勧めできません(パフォーマンスに大きな影響がある)ため、デフォルトではオフになっています。


これは完璧な方法です... +1!
Rutwick Gangurde 2011年

6

現在のクエリを確認する必要があるときに、私はよくこれを行います。

add_action( 'wp_head', 'show_current_query' );

function show_current_query() {
    global $wp_query;

    if ( !isset( $_GET['q'] ) )
        return;
    echo '<textarea cols="50" rows="10">';
    print_r( $wp_query );
    echo '</textarea>';
}

現在のクエリを表示する?qには、現在のURLに追加するだけです。

これにより、SQLクエリと他のすべてのクエリ変数を含む現在のクエリ(グローバル変数$ wp_queryに格納されている)が表示されます。



0

グローバルに$wp_queryは、引数、結果、結果の内容、クエリ自体など、現在のクエリに関するすべてが含まれます。

$wp_query->request ここであなたのために仕事をする必要があります。



0

Wp Pear Debugプラグインを使用できます。ページで実行されたクエリのリスト、それらのクエリの実行にかかった秒数、クエリを開始したphp関数が表示されます。設定を有効にするには、少なくとも一度は設定を保存する必要があることに注意してください。



0
<?php $wpdb->show_errors(); ?>  // use syntax just before your query 
<?php $wpdb->print_error(); ?>  // user after your query execution

つまり。

<?php $wpdb->show_errors();
      $id=$wpdb->update('table_name',$array,$condition);
      $wpdb->print_error();
?>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.