-1
function getForums($id) {
$currentHost = "http://$_SERVER[HTTP_HOST]";
$query = "SELECT * FROM categories";
try {
global $db;
$stmt = $db->prepare($query);
$stmt->execute();
$result = $stmt->fetchAll();
foreach($result as $row) {
$category_title = $row['category_title'];
$category_id = $row['category_id'];
echo '<div class="forum pleft">
<div class="forum-header">
<span class="header-text">'.$category_title.'</span>
</div>
<table>';
$query2 = "SELECT * FROM forums WHERE category_id='".$category_id."'";
try {
global $db;
$stmt2 = $db->prepare($query2);
$stmt2->execute();
$result2 = $stmt2->fetchAll();
foreach($result2 as $row2) {
$forum_cat_id = $row2['category_id'];
$forum_id = $row2['forum_id'];
$forum_title = $row2['forum_title'];
$forum_topic_count = $row2['forum_topic_count'];
$forum_post_count = $row2['forum_post_count'];
$forum_last_topic_id = $row2['forum_last_topic_id'];
$forum_last_topic = $row2['forum_last_topic'];
$forum_last_date = $row2['forum_last_date'];
$forum_last_user = $row2['forum_last_user'];
$fixed_last_topic = substr($forum_last_topic,0,25).'...';
echo '<tr>
<td class="title"><a href="'.$currentHost.'/forums/view-forum/index.php?cid='.$forum_cat_id.'&fid='.$forum_id.'">'.$forum_title.'</a></td>
<td class="topics">'.$forum_topic_count.'</td>
<td class="posts">'.$forum_post_count.'</td>
<td class="lastpost"><a href="'.$currentHost.'/forums/view-thread/index.php?cid='.$id.'&fid='.$forum_id.'&tid='.forum_last_topic_id.'">'.$fixed_last_topic.'</a> by <a href="'.$currentHost.'/users/index.php?username='.$forum_last_user.'">'.$forum_last_user.'</a> at '.$forum_last_date.'</td>
</tr>
</table>
</div>';
}
}
} // Getting an error here!
}
catch(PDOException $ex) {
die("error");
}
}
我在代码中标记了出现错误的地方,大概有7行。 我有另一个问题,但从来没有得到答案,基本上我试图让我的论坛,以便所有的子类别(论坛)进入类别,并不会每次都做一个全新的论坛div。查询内部查询是否可以显示这样的类别?
哪一条是错误信息?几乎可以肯定这是一个括号问题。 – jcoppens
几乎在任何时候你有嵌套查询,并且内部查询使用外部查询的值来进行'where'过滤,你可能应该/应该使用SINGLE'join'ed查询来重写。 –
看起来你没有用CATCH结束TRY块。 –