在 wordpress 中,我正在查询我手动添加的自定义行和列的默认表。我正在全球化$wpdb
(Wordpress 数据库功能),它适用于一半的代码。
例如脚本的第一部分是这样的(只显示代码的相关部分):
class Test {
public function getP($param){
global $wpdb;
$q = $wpdb->get_results("SELECT * FROM tbl WHERE " . $param['1']." = '" . $param['2'] . "'");
}
}
因此,该查询在运行$wpdb
时有效,并且我能够打印返回的结果。
但是,再往下,我需要根据结果运行另一个查询,所以$wpdb->get_results
我需要使用$wpdb->query
.
示例(同样,仅相关):
global $wpdb;
$stmt = $this->wpdb->query($q);
if($param['type'] == 'x'){
$data = $stmt->fetchAll();
}else{
$data = $stmt->fetch();
}
return $data;
这不起作用,它似乎不在对象范围内并提供以下错误:
Fatal error: Call to a member function query() on a non-object
关于为什么初始查询有效但第二个查询导致错误的任何见解,即使数据库连接有效并且位于对象内部?