Come visualizzare la query SQL eseguita nella query?


104

Mi sono imbattuto in una funzione che visualizzava esattamente il codice SQL utilizzato. Ad esempio, in un ciclo, ma non ricordo.

Qualcuno può dirmi quella funzione?

Risposte:


137

Ciao @Keith Donegan:

Se capisco correttamente la tua domanda, penso che questo sia quello che stai cercando?

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

$wp_queryè una variabile globale che contiene la query corrente eseguita dal ciclo. Se si esegue il codice sopra riportato in qualsiasi momento mentre il ciclo è ancora attivo o anche subito dopo il ciclo, si dovrebbe fornire l'SQL dal ciclo. Assicurati solo di ispezionarlo prima di lasciare eseguire qualcos'altro che utilizza di query_posts()nuovo.


Come ottenere domande $wpdb? $GLOBALS['wpdb']->requestnon funziona
mpsbhat

1
Funziona anche su query personalizzate, $my_query = new WP_Query([ /* ...some args... */ ]);=>$my_query->request
jave.web

58

Se hai eseguito una query in base WP_Query, è questo:

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


21

Se sei interessato solo ai loop, questo è quello che di solito uso:

add_filter( 'posts_request', 'dump_request' );

function dump_request( $input ) {

    var_dump($input);

    return $input;
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.