我在Wordpress 4.1.1上使用自定义主题,并且每2-3小时收到以下错误。虽然我发现存在SQL语法错误,但我不明白是什么导致了它。
我使用的是PHP版本5.4.38和MySQL版本5.5.42-cll。
[2015年4月15日17:45:54 UTC] WordPress数据库错误您有错误 在你的SQL语法中;查看与MySQL对应的手册 服务器版本,用于在' GROUP BY wp_posts.ID附近使用正确的语法 ORDER BY distance desc LIMIT 0,12'在第6行查询SELECT SQL_CALC_FOUND_ROWS DISTINCT wp_posts.ID,3956 * 2 * ASIN(SQRT( POWER(SIN((t1.meta_value - 0)* pi()/ 180/2),2)+ COS(t1.meta_value) * pi()/ 180)* COS(0 * pi()/ 180)* POWER(SIN((t2.meta_value - 0)* pi()/ 180/2),2)))作为距离,wp_posts.ID来自wp_posts INNER JOIN wp_postmeta ON(wp_posts.ID = wp_postmeta.post_id)INNER JOIN wp_postmeta AS mt1 ON(wp_posts.ID = mt1.post_id)INNER JOIN wp_postmeta AS wlt1 ON(wp_posts.ID = wlt1.post_id)INNER JOIN wp_postmeta AS wlt2 ON(wp_posts.ID = wlt2.post_id)INNER JOIN wp_postmeta AS t1 ON(wp_posts.ID = t1.post_id)INNER JOIN wp_postmeta AS t2 ON(wp_posts.ID = t2.post_id)WHERE 1 = 1 AND (((wp_posts.post_title LIKE' %%')或(wp_posts.post_content LIKE'% %')))和(wp_posts.post_password ='')和wp_posts.post_type = '列表类型' AND(wp_posts.post_status ='发布')AND (wp_postmeta.meta_key ='特色' AND(mt1.meta_key = ' listing_expiry_date' AND CAST(mt1.meta_value AS CHAR)> ' 2015年4月15日 20:45:54' ))和t1.meta_key =' map-lat' AND t1.meta_value!=''和 t2.meta_key =' map-log' AND t2.meta_value!='' AND((wlt1.meta_key = '地图-LAT' AND wlt1.meta_value BETWEEN 33.4535和34.8991)AND( wlt2.meta_key =' map-log' AND wlt2.meta_value BETWEEN -85.0698 AND -83.5123)或(wlt2.meta_key =' map-zip' AND wlt2.meta_value =' 30004'))GROUP BY wlt2.post_id GROUP BY wp_posts.ID ORDER BY 距离desc LIMIT 0,12由require(' wp-blog-header.php'),wp, WP-> main,WP-> query_posts,WP_Query->查询,WP_Query-> get_posts
答案 0 :(得分:1)
问题很可能发生在你的一个wordpress crons上。这就是为什么你每2小时才看到它。虽然您不需要工具来查看运行的crons,但我建议您安装Crontrol插件,以便您轻松查看和控制crons何时运行。从那里你可以深入了解你的插件并找出它来自哪里。
否则问题来自双GROUP BY
条款。
答案 1 :(得分:0)
GROUP BY
语句发生两次:... GROUP BY wlt2.post_id GROUP BY wp_posts.ID ...
我不确定你真正想要的是哪种陈述,但这是错误的原因。