Wpdb::Prepare()缺少参数2

时间:2016-01-04 作者:Robert Rhu

我在一个网站上工作,该网站使用了以前开发的图像滑块插件。我在我的本地环境下工作,但一旦我开始使用它,它就会在图像滑块所在的任何位置出现以下错误。。。

Warning: Missing argument 2 for wpdb::prepare(), called in
/home/content/r/o/b/robertrhuspeak/html/desarch/wp
content/plugins/portfolio/fields.php on line 48 and defined in
/home/content/r/o/b/robertrhuspeak/html/desarch/wp-includes/wp-db.php on line 1246
它引用的代码行如下所示。。。

$fields = $wpdb->get_results($wpdb->prepare("SELECT meta_key, meta_value,
meta_order IS NULL AS isnull FROM $wpdb->postmeta WHERE post_id=$postID ORDER BY
isnull ASC, ABS(meta_order) ASC, meta_id"));
我的理解是wp db。php需要两个参数,而上面的代码不是用两个参数编写的。

但是,坦率地说,我不知道该怎么写。我在互联网上努力寻找一些可以向我解释清楚的东西。

任何指导都将不胜感激。

谢谢

2 个回复
SO网友:Linnea Huxford

应该这样写:

$fields = $wpdb->get_results($wpdb->prepare("SELECT meta_key, meta_value,
meta_order IS NULL AS isnull FROM $wpdb->postmeta WHERE post_id=%d ORDER 
BY isnull ASC, ABS(meta_order) ASC, meta_id", $postID));
请参见this explanation

SO网友:jb510

Nacin对它进行了详细的总结,我猜这是一个重复(请稍后查看),现在请阅读this

相关推荐

$wpdb->get_row返回什么?

由于插件中的调试和错误查找,我有一个简短的问题。$wpdb->;如果没有结果,返回get\\u row()?文件说明:(array|object|null|void) Database query result in format specified by $output or null on failure. 但当查看源代码时,它似乎返回了;null“;。。。如果您能快速提供帮助,我将不胜感激,我一直认为它会返回一个空数组,但我可能弄错了!