性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

WordPress错误:Missing argument 2 for wpdb::prepare()

Loading
0
Comodo SLL证书促销 - 免费ssl证书申请_ssl证书购买_ev ssl证书_https证书购买 - GDCA_数安时代

使用WordPress 3.5 的朋友在使用某些插件时,也许会遇到这样的WordPress错误:Missing argument 2 for wpdb::prepare():

wpdaxue.com-201212226

报错原因

从提示语来看,是缺少了 wpdb::prepare() 的第二个参数,从技术上 WordPress 这样修改 prepare 并没有错,因为这是用来组装 SQL 语句的方法, 按常理来说必须有带变量的字符串作为第一个参数和第二个作为变量的参数,这是为了避免 SQL 注入所引起的安全问题。但是 WordPress 从 2.2 或者更早版本允许了忽略第二个参数的写法, 现在突然令第二个参数成为必填, 必然导致很多主题和插件不能正常使用。

解决办法

1.打开出错的文件(类似上图加亮的文件),还有出错行数,这样我们可以很方便地找到出错的地方,或者搜索$wpdb->prepare

2.为该方法添加一个空串作为第二个参数, 比如: $wpdb->prepare('xxx'); 改为 $wpdb->prepare('xxx', ''); 即可.

支付宝扫码打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

MetInfo | 最适合企业网站建设的cms系统

关于 倡萌

一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!

精彩推荐

WordPress 一键启用维护模式 Maintenance Switch

WordPress 一键启用维护模式 Maintenance Switch

强大的WordPress统计分析插件:WP SlimStat

强大的WordPress统计分析插件:WP SlimStat

3 条评论

  1. 如果以前,我早升级版本了,现在嘛,都要慎重考虑

  2. 暂时还不想升级到3.5版本

发表评论