我在forEach中多次调用函数时会出现错误。基本上,我试图抓住类别的论坛,我通过抓住所有类别来做到这一点,对于每个类别,我将抓住该类别的论坛。如果我只有一个类别就可以了。没有误差。但如果我有2个或更多,它会得到错误
错误:致命错误:在/home/dankvgo/public_html/source/templates/forums_index.php第22行对非对象调用成员函数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>
';
}
my 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;
}
看起来$forum不是每次都是对象。尝试第22行上面的print_r($forum),并确保它是一个对象。$forum对象不是每次出现时都实例化的。