问题描述
我正在寻找一种方法,我可以打印执行的 sql 查询之后:
$wpdb->query(
                $wpdb->prepare("INSERT 
                                INTO tbl_watchprosite SET 
                                keywords=%s,url_to_post=%s,description=%s,
                                date_captured=%s,crawl_id=%d,
                                image_main=%s,images=%s,brand=%s,
                                series=%s,model=%s,condition=%s,box=%s,
                                papers=%s,year=%s,case_size=%s,status=%s,listed=%s,
                                asking_price=%s,retail_price=%s,payment_info=%s,forum_id=%d",
                                $this->getForumSettings()->search_meta,$element->href,$post_meta['description'],current_time('mysql'),$cid,$post_meta['image_main'],$images,$post_meta[0],$post_meta[1],$post_meta[2],$post_meta[3],$post_meta[4],$post_meta[5],$post_meta[6],$post_meta[7],$status,$post_meta[9],$post_meta[10],$post_meta[11],$this->getForumSettings()->ID)
            );
如果我可以看到查询中的值是什么,这将是很棒的。
谢谢
最佳解决方案
$wpdb 对象具有一些属性设置:
// Print last SQL query string
$wpdb->last_query
// Print last SQL query result
$wpdb->last_result
// Print last SQL query Error
$wpdb->last_error
请注意,在 wp-config.php 中设置 defined( 'SAVEQUERIES', true ); 时,您将只得到结果。
次佳解决方案
将其添加到您的 wp-config.php 中
 define('SAVEQUERIES', true);
然后在你的主题的脚下放这个:
 <?php
  if (current_user_can('administrator')){
   global $wpdb;
   echo "<pre>";
   print_r($wpdb->queries);
   echo "</pre>";
 }//Lists all the queries executed on your page
?>
也可以使用
global $wpdb;
echo $wpdb->last_query;//lists only single query
在您的查询页面中查询后;
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。