警告:wpdb::prepare()插件问题缺少参数2


Warning: Missing argument 2 for wpdb::prepare() plugin issue

我将WordPress更新到了最新的3.6版本,并收到了关于wpdb::prepare()的警告。

这是该主题的滑块插件的一个问题。我不知道如何编辑$wpdb->prepare这个文件,使它与新的WP版本一起工作。

   <?php            $item_count = 0;                        foreach ($sliders as $key => $slider){                                  $cur_slider_id = $key+1;                $item_count = $wpdb->get_var($wpdb->prepare("SELECT count(c_id) FROM ". $item_table ." WHERE s_id = '". $cur_slider_id ."'"));              ?>

$count_filter = $wpdb->get_var($wpdb->prepare("SELECT count(id) FROM ". $item_table ." WHERE c_id REGEXP '(^".$d.",)|(,".$d."$)|(,".$d.",)|^".$d."$'")); 

$item_count = $wpdb->get_var($wpdb->prepare("SELECT count(c_id) FROM ". $item_table ." WHERE c_id RLIKE '^".$h."$' OR c_id RLIKE ',".$h."$' OR c_id RLIKE '^".$h.",' OR c_id RLIKE ',".$h.",' " ));

我有这3行包含$wpdb->prepare(),请帮助如何将其更改为WP 3.6接受它的方式?

谢谢你,

当我在wp-config.php文件中通过这段代码时,我非常高兴。警告消息没有再次显示。

@ini_set('display_errors', 0);

$item_table在哪里定义?也许把它打印出来,以确保它得到你想要的。

将"null"作为第二个参数添加到函数中可以完全解决问题。

您使用wpdb->prepare()函数的方式不对。阅读http://make.wordpress.org/core/2012/12/12/php-warning-missing-argument-2-for-wpdb-prepare/找出如何正确修复它。