我在forEach中多次调用函数时遇到错误。 基本上,我正试图抓住类别的论坛,我正在通过抓住所有类别来做到这一点,并且对于每个类别我将抓住该类别的论坛。如果我只有一个类别,它工作正常。我没有错。但如果我有2个或更多,则会出错。
错误: 致命错误:在第22行的/home/dankkvgo/public_html/source/templates/forums_index.php中的非对象上调用成员函数grabForumsOfCategories()
forums_index.php(只是一个片段 - 第22行在那里)
$categories = $forum->grabCategories();
if($categories == NULL) {
echo '
<div class="categoryForum">
<p>No data retrived</p>
</div>
';
} else {
if (is_array($categories)) {
foreach ($categories as $category) {
try {
$category_id = $category["category_id"];
$category_title = $category["category_title"];
echo '
<div class="forum-header"><h4>'.$category_title.'</h4></div>
';
$forums = $forum->grabForumsOfCategories($category_id);
if ($forums == NULL) {
echo '
<div class="categoryForum">
<p>No forum data found in this category.</p>
</div>
';
}
我的论坛类中的grabForumsOfCategories函数
public function grabForumsOfCategories($category_id) {
$database = new database();
$query = "SELECT *
FROM forums_forums
WHERE category_id='".$category_id."'";
$result = $database->query_select($query);
return $result;
}
答案 0 :(得分:1)
看起来$论坛每次都不是一个对象。尝试第22行上方的print_r($ forum)并确保它是一个对象。 $ forum对象在每次看起来都没有实例化。