如果$ _GET ['something']没有结果显示错误

时间:2017-02-14 01:20:18

标签: php mysql query-string

所以我用查询字符串等搞乱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>,但没有结果时显示其他内容。

我真的无法弄清楚这一点,可能很容易,任何指导都会受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

您可以测试返回的行数:

if ($stmt->rowCount() == 0) {
    // display error
} else {
    while ($cat = $stmt->fetch(PDO::FETCH_ASSOC)) {
        ...
    }
}