如何显示查询中运行的SQL查询?

时间:2010-12-03 作者:Keith Donegan

之前我遇到过一个函数,它显示了所使用的确切SQL代码。例如,在循环中,但无法记住。

谁能告诉我那个函数吗?

4 个回复
最合适的回答,由SO网友:MikeSchinkel 整理而成

你好@Keith Donegan:

如果我正确理解你的问题,我想这就是你要找的?

<?php echo $GLOBALS[\'wp_query\']->request; ?>
$wp_query 是一个全局变量,包含循环运行的当前查询。如果您在循环仍处于活动状态时或甚至在循环之后随时运行上述代码,则应该会从循环中获得SQL。在让其他使用query_posts() 再一次

SO网友:Till

如果运行基于WP_Query, 是这样的:

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

SO网友:Denis de Bernardy

看看这个答案:Best Collection of Code for your functions.php file

然后添加?debug=sql到任何WP-URL,它将输出运行的查询的完整列表。(是的,这很可怕……)

SO网友:Rarst

如果您只对循环感兴趣,这是我通常使用的:

add_filter( \'posts_request\', \'dump_request\' );

function dump_request( $input ) {

    var_dump($input);

    return $input;
}

结束