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新年快乐!万事如意!

说点什么吧




wireless earbuds moscow mule mugs bluetooth speakers waterproof camera best wireless earbuds best vacuum cleaner best drugstore foundation best dishwasher best waist trainer wireless headphones best vacuum 0594918 best bluetooth earbuds waterproof bluetooth speaker tattoo cover up action camera
订阅本站