我有这段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);
}