使用WordPress 3.5 的朋友在使用某些插件时,也许会遇到这样的WordPress错误:Missing argument 2 for wpdb::prepare():
报错原因
从提示语来看,是缺少了 wpdb::prepare() 的第二个参数,从技术上 WordPress 这样修改 prepare
并没有错,因为这是用来组装 SQL 语句的方法, 按常理来说必须有带变量的字符串作为第一个参数和第二个作为变量的参数,这是为了避免 SQL 注入所引起的安全问题。但是 WordPress 从 2.2 或者更早版本允许了忽略第二个参数的写法, 现在突然令第二个参数成为必填, 必然导致很多主题和插件不能正常使用。
解决办法
1.打开出错的文件(类似上图加亮的文件),还有出错行数,这样我们可以很方便地找到出错的地方,或者搜索$wpdb->prepare
2.为该方法添加一个空串作为第二个参数, 比如: $wpdb->prepare('xxx');
改为 $wpdb->prepare('xxx', '');
即可.
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
如果以前,我早升级版本了,现在嘛,都要慎重考虑
暂时还不想升级到3.5版本
不懂!