WordPress数据库错误显示何时使用撇号(令人难以置信)

时间:2014-07-26 07:50:00

标签: php mysql wordpress wordpress-theming

我简直不敢相信。当我按银行时,按下Post编辑器会显示一个巨大的数据库错误,但当我只使用银行 .No错误时。邮政看起来很好。 Wordpress帖子不接受 Apostrophes ??

  

WordPress数据库错误:[您的SQL语法出错;校验   与您的MySQL服务器版本对应的手册   在' s%'附近使用的语法或postmeta.meta_value LIKE'%on-line%'或   postmeta.meta_value LIKE'%websit '在第1行

SELECT posts.*,
       postmeta.meta_value
FROM wp_posts AS posts,
     wp_postmeta AS postmeta
WHERE posts.post_type IN ('page',
                          'post')
  AND posts.post_status='publish'
  AND posts.ID = postmeta.post_id
  AND posts.ID <> 361
  AND postmeta.meta_key = 'cprp_tags'
  AND (postmeta.meta_value LIKE '%mmgs%'
       OR postmeta.meta_value LIKE '%management%'
       OR postmeta.meta_value LIKE '%ii%'
       OR postmeta.meta_value LIKE '%iii%'
       OR postmeta.meta_value LIKE '%scale%'
       OR postmeta.meta_value LIKE '%rs%'
       OR postmeta.meta_value LIKE '%middle%'
       OR postmeta.meta_value LIKE '%grade%'
       OR postmeta.meta_value LIKE '%years%'
       OR postmeta.meta_value LIKE '%application%'
       OR postmeta.meta_value LIKE '%post%'
       OR postmeta.meta_value LIKE '%online%'
       OR postmeta.meta_value LIKE '%candidates%'
       OR postmeta.meta_value LIKE '%recruitment%'
       OR postmeta.meta_value LIKE '%bank%'
       OR postmeta.meta_value LIKE '%special%'
       OR postmeta.meta_value LIKE '%banking%'
       OR postmeta.meta_value LIKE '%fees%'
       OR postmeta.meta_value LIKE '%payment%'
       OR postmeta.meta_value LIKE '%graduation%'
       OR postmeta.meta_value LIKE '%qualification%'
       OR postmeta.meta_value LIKE '%www.sbi.co.in%'
       OR postmeta.meta_value LIKE '%selection%'
       OR postmeta.meta_value LIKE '%registration%'
       OR postmeta.meta_value LIKE '%emoluments%'
       OR postmeta.meta_value LIKE '%executive%'
       OR postmeta.meta_value LIKE '%state%'
       OR postmeta.meta_value LIKE '%india%'
       OR postmeta.meta_value LIKE '%apply%'
       OR postmeta.meta_value LIKE '%bank's%' OR postmeta.meta_value LIKE '%on-line%' OR postmeta.meta_value LIKE '%website%') AND postmeta.post_id NOT IN ( SELECT post_id FROM wp_postmeta WHERE meta_key = 'cprp_exclude_from_posts')

1 个答案:

答案 0 :(得分:1)

您看到的错误来自CP Related Posts插件中的错误。您可以在this line上看到$tags数组中的错误,其中使用implode()$wpdb->prepare()数组传递到查询中,而不通过像Bank's这样的函数传递它来解决SQL兼容性问题。当您使用单引号保存标记时,例如{{1}},它会破坏插件运行的SQL查询,从而导致出现错误。

插件的开发似乎很活跃,所以我建议在他们的支持页面上打开一张票。