PHP-PDO SQLSTATE [HY093]:无效的参数编号:未绑定任何参数

问题描述 投票:0回答:1

我有一个静态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]:无效的参数编号:未绑定任何参数。

我想念什么吗?

php sql pdo
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.