¿Cómo mostrar la consulta SQL que se ejecutó en la consulta?


104

Me he encontrado con una función que mostraba el código SQL exacto que se utilizó. En un bucle, por ejemplo, pero no puedo recordar.

¿Alguien puede decirme esa función?

Respuestas:


137

Hola @Keith Donegan:

Si entiendo su pregunta correctamente, ¿creo que esto es lo que está buscando?

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

$wp_queryes una variable global que contiene la consulta actual ejecutada por el bucle. Si ejecuta el código anterior en cualquier momento mientras el ciclo aún está activo o incluso justo después del ciclo, debería proporcionarle el SQL del ciclo. Solo asegúrese de inspeccionarlo antes de dejar que se ejecute otra cosa que se use query_posts()nuevamente.


¿Cómo obtener consultas de $wpdb? $GLOBALS['wpdb']->requestno funciona
mpsbhat

1
Funciona incluso en consultas personalizadas, $my_query = new WP_Query([ /* ...some args... */ ]);=>$my_query->request
jave.web

58

Si ejecutó una consulta basada en esto WP_Query, es esto:

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


21

Si solo estás interesado en Loops, esto es lo que suelo usar:

add_filter( 'posts_request', 'dump_request' );

function dump_request( $input ) {

    var_dump($input);

    return $input;
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.