Як відобразити SQL-запит, який запускався в запиті?


104

Я натрапив на функцію до цього, відображав точний код SQL, який був використаний. Наприклад, у циклі, але не можу згадати.

Хтось може сказати мені цю функцію?

Відповіді:


137

Привіт @Keith Donegan:

Якщо я правильно розумію ваше запитання, я думаю, це саме те, що ви шукаєте?

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

$wp_query- це глобальна змінна, яка містить поточний запит, виконаний циклом. Якщо ви запускаєте вищезазначений код у будь-який час, поки цикл все ще активний або навіть відразу після циклу, він повинен видавати вам SQL з циклу. Просто переконайтесь, що ви перевіряєте це, перш ніж дозволити query_posts()знову запустити щось інше .


Як отримати запити $wpdb? $GLOBALS['wpdb']->requestне працює
mpsbhat

1
Працює навіть над спеціальним запитом, $my_query = new WP_Query([ /* ...some args... */ ]);=>$my_query->request
jave.web

58

Якщо ви запустили запит на основі WP_Query, це:

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


21

Якщо вас цікавлять лише петлі, я зазвичай використовую це:

add_filter( 'posts_request', 'dump_request' );

function dump_request( $input ) {

    var_dump($input);

    return $input;
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.