我正在使用新的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)
答案 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,第三个参数将替换第二个实例,依此类推。