致命错误:在非对象上调用成员函数fetch()


Fatal error: Call to a member function fetch() on a non-object

我有这段PHP代码,我在其中从数据库创建了一个dropdownlist。但当我运行应用程序时,它会引发一个错误Fatal error: Call to a member function fetch() on a non-object in ----'register.php on line 79

<select name="country">
<?php
    $country_result = $dataclass->get_Countries();
    while ($country_row = $country_result->fetch()){ //line 79
        echo "<option value='" . $country_row["country_id"] . "'>" . $country_row["country_name"] . "</option>" . "'n";
    }
?>
</select>

我在任何地方都使用过这样的方法,它们很有效,但当把它用于下拉列表时,它就不起作用了。

get_Country()方法内容:

function get_Countries() {
    $sql = "SELECT * FROM tbl_countries;";
    return $this->dbconn->fetch($sql);
}

$this->dbconn->fetch()内容:

function fetch($sql, $data=array()) {
    try{
        $STH = $this->dbh->prepare($sql);
        $STH->setFetchMode(PDO::FETCH_ASSOC);
        $STH->execute($data);
        return $STH;
    } catch (PDOException $e){
        echo $e->getMessage();
    }
}

可能是因为"data"参数是一个数组吗?

尝试

function get_Countries() {
    $sql = "SELECT * FROM tbl_countries;";
    return $this->dbconn->query($sql);
}