有人可以显示,固定或告诉我为什么我收到此错误调用一个成员函数在非对象 - PHP
Call to a member function getRating() on a non-object
下面是函数
public function getRating($movieid){
$movieid = mysql_real_escape_string($movieid);
$average = 0;
$e = mysql_query("SELECT AVG(`rating`) as average FROM movie_ratings WHERE movieid='$movieid'") or die(mysql_error());
if (mysql_num_rows($e)>0){
extract(mysql_fetch_array($e));
}
return $average;
}
而且这就是我所说的功能
$movie = $movie->getByPerma($perma,$language);
if (empty($movie)){
$movie = '';
} else {
$movie['rating'] = $movie->getRating($movie['id']);
$tags = $movie->getMovieCategoryDetails($movie['id'],$language);
if (count($tags)){
$smarty->assign("tags",$tags);
} else {
$smarty->assign("tags","");
}
}
有人可以帮助我,因为我是新来的PHP。
是什么'getByPerma'吗? –
你正在用一个名为'$ movie'的数组覆盖你的'$ movie'对象,所以当你尝试可以调用'getRating()'时,你就在该数组上调用它,因此错误'在非对象”。所以只需将数组分配给不同的变量。 – Graham
@格拉汉姆:评论应该是答案... – Thalaivar