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