WordPress3.5最新版本中 wpdb::prepare() 报错问题

十二月 20
磊子 2012年 3 条评论

WordPress 3.5最新版本发布已经有好几天了,最近一直想着将自己的网站博客进行更新,但是想了想还是慎重点好,于是自己在本地测试了一番,果不其然发生了错误。错误如下:

<?php  
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  
?>

上面的警告信息说是这个函数缺少第二个的参数。于是去官网看看是不是有这方面的内容,在 http://make.wordpress.org/core/2012/12/12/php-warning-missing-argument-2-for-wpdb-prepare/ 这个地方找到了修改的方案,而且也有不少朋友已经解决了这个问题。磊子偷了个懒,找了一篇内容给大家看下,如果你也更新wordpress最新版本后,遇到这个问题,不妨试试下面的方法。

首先是最简单的一种,屏蔽这个警告信息,在你博客下的wp-config.php中填入如下代码,如果已存在修改成下面的。

@ini_set('display_errors', 0);

这个只是起到屏蔽作用,如果想让它正常工作可使用下面的方法。

问题代码:

$wpdb->prepare( "SELECT * FROM table WHERE id = $id" );

解决后的代码:

$wpdb->prepare( "SELECT * FROM table WHERE id = %d", $id );

将第二个参数添加上去,来传递值,使用prepare无非是想SQL更为安全。所以大家如果遇到这个问题,不妨试试上面的方法。如果你的SQL里面参数多,可以类似下面的这种来写。

$wpdb->prepare( "SELECT * FROM table WHERE ID = %d AND name = %s", $id, $name );

好了,今儿主要就说说这个。

 

 

 

» 版权所有©转载必须以链接形式注明作者和原始出处:磊子的博客 » WordPress3.5最新版本中 wpdb::prepare() 报错问题
» 地址:( Ctrl+C 复制 )
» 如果对本站感兴趣,请到网站右下方订阅本站,将为你带来更多精彩和实用的文章
» 如果您对这篇文章感兴趣,不妨小小的 捐助(Donate)一下博主吧,不管多少都是对博主最大的支持和鼓励哟,博主-磊子感谢大家的支持!!!

3 条留言 其中:访客:3 条, 博主:0 条

  1. 这个错误估计比较常见,我直接用的3.5版本,没升级过

  2. 同心说:

    不错的BLOG,内容丰富,文章精练,支持一下

  3. 指南者说:

    指南者祝博主2013新年快乐!万事如意!

说点什么吧




订阅本站