• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >WordPress > WordPress 3.5 与 wpdb::prepare() 报错解决办法

WordPress 3.5 与 wpdb::prepare() 报错解决办法

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-13

佚名 向大家介绍了wordpress wpdb,wpdb,wpdb 35-16 16 1-1 6,wpdb 70 16 1 10,wpdb 16 6 3 4等相关知识,希望对您有所帮助

WordPress 3.5 正式发布, 这个版本包括大量更新. 启用了最新的响应式布局默认主题 Twenty Twelve; 改版了 Admin 界面, 更加简洁而且针对移动设备进行了优化; Media 功能也得到极大的提高, 现在更加没有理由使用其他图床服务了.

好话说完了, 是时候 "但是" 了. 但是... WordPress 秉承一贯的作风, 也偷偷改了一些内部方法, 现在 wpdb::prepare() 必须填入第二个参数, 否则报错如下.

Warning: Missing argument 2 for wpdb::prepare(), called in xxx.php on line 75 and defined in /www/wp-includes/wp-db.php on line 990

wpdb->prepare() 方法在 WordPress 3.5 中报错

wpdb::prepare() 的第二个参数

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

我发布的所有 WordPress 主题和最新评论插件 WP-RecentComments 都中枪了. 感谢 neoner 提醒, 半个月前我更新 WP-RecentComments 解决了这个问题, 但还没有时间改主题, 因为主题审核太麻烦了.

解决办法

在更新主题之前, 我先在这里说说解决办法, 让用户们自己可以先解决一下, 相信还有其他主题或者插件可能也会有类似问题, 希望对大家有帮助.

    我们需要先定位出现问题的文件和代码. PHP 的代码报错很精准的, 打开报错提醒中的文件 (前一个文件, 不是 wp-db.php), 找到代码 $wpdb->prepare.为该方法添加一个空串作为第二个参数, 比如: $wpdb->prepare('xxx'); 改为 $wpdb->prepare('xxx', ''); 即可.
总结

WordPress 也不是第一次偷偷修改方法调用方式了, WordPress 2.7 的时候也要求 comments_template 必须输入第二个方法, 但是当时是为了扩展功能, 这次我真的不解. 除了安全考虑, WordPress 也可能有意淘汰一些不积极更新的主题, 我的主题明明向后兼容做得很好的, 实在太没节操了.

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • wordpress全局变量$wpdb在哪里进行初始化声明
  • wordpress全局变量$wpdb初始化并声明为全局变量的方法
  • WordPress 3.5 与 wpdb::prepare() 报错解决办法

相关文章

  • 2018-11-02WordPress新手入门:分类目录和页面的区别
  • 2018-11-02最佳WordPress自定义永久链接形式
  • 2018-11-02小兽解答WordPress仿雷锋网、仿虎嗅网等问题
  • 2018-11-02如何去除wordpress底部的“自豪地采用wordpress”链接
  • 2018-11-02WordPress利用评论黑名单屏蔽恶意评论
  • 2017-05-13wordpress数据库优化和清理冗余数据的方法
  • 2018-11-02WordPress后台直接显示文章、页面、分类、标签和用户等ID号
  • 2018-11-02wordpress教程之 WordPress 阅读设置
  • 2017-05-13wordpress主题中无法显示浏览量问题的解决方法
  • 2017-05-13WordPress用户自动登录的实现方法

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 推荐WordPress 必备的常用插件及插件功能介绍
    • wordpress教程之 WordPress 用户删除
    • Ubuntu服务器上的最优WordPress方案
    • wordpress添加更新数据库等操作提示报错
    • WordPress评论文本移除P标签
    • WordPress博客出现的绝对路径泄露漏洞及修复方法
    • wordpress教程之 WordPress 主题管理
    • WordPress自动为附件图像添加灯箱弹窗效果[无插件版]
    • WordPress增加返回顶部效果的方法
    • 让WordPress文章按最后更新时间排序总结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有