Wordpress-SQL语法错误

时间:2015-04-15 18:16:09

标签: php mysql wordpress

我在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

2 个答案:

答案 0 :(得分:1)

问题很可能发生在你的一个wordpress crons上。这就是为什么你每2小时才看到它。虽然您不需要工具来查看运行的crons,但我建议您安装Crontrol插件,以便您轻松查看和控制crons何时运行。从那里你可以深入了解你的插件并找出它来自哪里。

否则问题来自双GROUP BY条款。

答案 1 :(得分:0)

GROUP BY语句发生两次:... GROUP BY wlt2.post_id GROUP BY wp_posts.ID ...

我不确定你真正想要的是哪种陈述,但这是错误的原因。