wpdb选择表没有参数

时间:2013-04-05 20:18:36

标签: wpdb

我正在使用新的wpdb来使用wordpress访问数据库。

$mydb = new wpdb($username,$password,$database,$hostname);
$sql = $mydb->prepare("SELECT * FROM " . $table);
$results = $mydb->get_results($sql);

此行产生错误:

$sql = $mydb->prepare("SELECT * FROM " . $table);

wpdb :: prepare被称为错误。 wpdb :: prepare()至少需要两个参数。

以下所有陈述都会产生同样的错误:

$sql = $mydb->prepare("SELECT * FROM $table");
$sql = $mydb->prepare("SELECT * FROM '%s'", $table);

如何在没有参数的情况下编写它?

(我正在使用wordpress 3.5)

1 个答案:

答案 0 :(得分:0)

在上一个示例中从'%s'中取出单引号,假设$ table是有效的表名,则应该有效。

编辑:$ wpdb-> prepare()的工作方式类似于php的sprintf()。如果您只是传递一个参数,它就不会任何事情。 3.5版本发布后,见Andrew Nacin的帖子:http://make.wordpress.org/core/2012/12/12/php-warning-missing-argument-2-for-wpdb-prepare/

第二个参数将替换可替换字符集的第一个实例,即%s,%d或%f,第三个参数将替换第二个实例,依此类推。