Jak wyświetlić zapytanie SQL uruchomione w zapytaniu?


104

Natrafiłem na funkcję, która wyświetlała dokładnie użyty kod SQL. Na przykład w pętli, ale nie pamiętam.

Czy ktoś może mi powiedzieć tę funkcję?

Odpowiedzi:


137

Cześć @Keith Donegan:

Jeśli dobrze rozumiem twoje pytanie, myślę, że tego właśnie szukasz?

<?php echo $GLOBALS['wp_query']->request; ?>

$wp_queryjest zmienną globalną, która zawiera bieżące zapytanie uruchamiane przez pętlę. Jeśli uruchomisz powyższy kod w dowolnym momencie, gdy pętla jest nadal aktywna lub nawet zaraz po pętli, powinna ona dać ci SQL z pętli. Tylko upewnij się, że to sprawdziłeś, zanim uruchomisz coś innego, co query_posts()ponownie się zużyje .


Jak uzyskać zapytania $wpdb? $GLOBALS['wpdb']->requestnie działa
mpsbhat 21.01.17

1
Działa nawet na niestandardowe zapytanie, $my_query = new WP_Query([ /* ...some args... */ ]);=>$my_query->request
jave.web

58

Jeśli uruchomiłeś zapytanie w oparciu o WP_Query:

$customPosts = new WP_Query($yourArgs);
echo "Last SQL-Query: {$customPosts->request}";


21

Jeśli interesujesz się tylko pętlami, zwykle tego używam:

add_filter( 'posts_request', 'dump_request' );

function dump_request( $input ) {

    var_dump($input);

    return $input;
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.