我有一个静态PHP应用程序,它从WordPress数据库获取数据,这是通过匹配ID显示类别的代码。
public function categories($post_id) {
$query = "SELECT term_taxonomy_id FROM wp_term_relationships WHERE object_id = ?";
$stmt = $this->conn->prepare($query);
$stmt->execute([$post_id]);
$term = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
extract($row);
$term[] = $row['term_taxonomy_id'];
}
$query = "SELECT * FROM wp_terms WHERE term_id IN (";
$comma = '';
for($i=0; $i<count($term); $i++){
$query .= $comma.':p'.$i; // :p0, :p1, ...
$comma = ',';
}
$query .= ')';
$stmt = $this->conn->prepare($query);
for($i=0; $i<count($term); $i++){
if(! isset($term[$i])) {
$stmt->bindValue(':p'.$i, $term[$i], PDO::PARAM_INT);
}
}
$stmt->execute();
$category = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
extract($row);
$category[] = array(
'id'=> $row['term_id'],
'slug'=> $row['slug'],
'title'=> $row['name']
);
}
return $category;
}
它显示例外:由于第二个wp_terms查询
SQLSTATE [HY093]:无效的参数编号:未绑定任何参数。
我想念什么吗?