我有这个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'参数是一个数组吗?
答案 0 :(得分:1)
尝试
function get_Countries() {
$sql = "SELECT * FROM tbl_countries;";
return $this->dbconn->query($sql);
}