WordPress 3.5 最新版本發(fā)布已經(jīng)有好幾天了,最近一直想著將自己的網(wǎng)站博客進行更新,但是想了想還是慎重點好,于是自己在本地測試了一番,果不其然發(fā)生了錯誤。錯誤如下:
<?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
?>
上面的警告信息說是這個函數(shù)缺少第二個的參數(shù)。于是去官網(wǎng)看看是不是有這方面的內(nèi)容,在 http://make.wordpress.org/core/2012/12/12/php-warning-missing-argument-2-for-wpdb-prepare/ 這個地方找到了修改的方案,而且也有不少朋友已經(jīng)解決了這個問題。磊子偷了個懶,找了一篇內(nèi)容給大家看下,如果你也更新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 );
將第二個參數(shù)添加上去,來傳遞值,使用prepare無非是想SQL更為安全。所以大家如果遇到這個問題,不妨試試上面的方法。如果你的SQL里面參數(shù)多,可以類似下面的這種來寫。
$wpdb->prepare( "SELECT * FROM table WHERE ID = %d AND name = %s", $id, $name );
好了,今兒主要就說說這個。
更多信息請查看IT技術專欄