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

时间:2012-01-12 13:22:52

标签: php

我有这个PHP代码,我从数据库创建一个下拉列表。但是当我运行应用程序时,它会触发错误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-&gt; dbconn-&gt; 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'参数是一个数组吗?

1 个答案:

答案 0 :(得分:1)

尝试

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