所以我用查询字符串等搞乱abit,但是如果这段代码没有结果我想显示错误:
else {
if (isset($_GET['Category'])) {
$category = $_GET['Category'];
$sql = "SELECT * FROM Posts WHERE Category='$category'";
$stmt = $conn->prepare($sql);
$stmt->execute(array(':category'=>$category));
while($cat = $stmt->fetch(PDO::FETCH_ASSOC) ) {
?>
<div class="post_body">
<div class="post_header">
<h2><?php echo "$cat[Title]";?></h2>
</div>
<?php echo "$cat[Post]";?>
<a class="read-more" href="?ID=<?php echo "$cat[ID]";?>#lamna_kommentar">Lämna en kommentar</a>
<hr>
<div class="post_footer">
<span class="left_span">
<strong>Av: </strong><?php echo "$cat[Author]";?>
<strong>Kategori: </strong><?php echo "$cat[Category]";?>
</span>
<span class="right_span">
<strong>Datum: </strong><?php echo date_format( new DateTime($cat['Date']), 'd M Y, H:i' );?>
<strong>Inlägg: #</strong><?php echo "$cat[ID]";?>
</span>
</div>
</div>
<?php
}
}
现在可以使用此链接显示a class="read-more" href="?ID=<?php echo "$cat[ID]";?>#lamna_kommentar">Lämna en kommentar</a>
,但没有结果时显示其他内容。
我真的无法弄清楚这一点,可能很容易,任何指导都会受到高度赞赏。
答案 0 :(得分:1)
您可以测试返回的行数:
if ($stmt->rowCount() == 0) {
// display error
} else {
while ($cat = $stmt->fetch(PDO::FETCH_ASSOC)) {
...
}
}