Php 我单击某个类别,但基于该类别标题的过滤器不起作用

Php 我单击某个类别,但基于该类别标题的过滤器不起作用,php,html,mysql,Php,Html,Mysql,我有一个页面,其中我的侧边栏列出了我数据库中的所有类别,如图所示 它是根据我的数据库显示的,如下所示 这是我的分类代码 <?php include('db.php'); $r = mysqli_query($db_connect, "SELECT * FROM category order by title asc"); if($r) { while($row = mysqli_fetch_array($r)) { echo '<

我有一个页面,其中我的侧边栏列出了我数据库中的所有类别,如图所示


它是根据我的数据库显示的,如下所示


这是我的分类代码

<?php
include('db.php');

   $r = mysqli_query($db_connect, "SELECT * FROM category order by title asc");

   if($r) {
      while($row = mysqli_fetch_array($r)) {
         echo '<a href="category.php?filter='.$row['title'].'" class="list-group-item">'.$row['title'].'</a>';
      }
   }
?> 


问题是,为什么当我点击分类时,它会显示一个错误页面


我是否必须包含任何其他代码或其他代码?请帮帮我,谢谢
我知道我的代码易受攻击,请忽略它

警告:如果sql漏洞可能发生,请不要使用此类代码。这 不提供或任何使用此类代码的实践。这仅仅是 回答用户的问题


向我们展示您的代码,以便我们帮助它检查url是否正确,以及
category.php
是否存在。这真的应该是
shop/shop/
?看起来应该是
shop/shop/admin
,让我先检查一下@carlbinallall您的代码是否容易受到SQL注入的攻击。你应该使用事先准备好的陈述。
<?php
    include('db.php');

    //if query string exists, fetch it from url
    if(!empty($_GET['filter']))
    {
      $filter = $_GET['filter'];
      $r = mysqli_query($db_connect, "SELECT * FROM category WHERE title='$filter' order by title asc");

       if($r) {
          while($row = mysqli_fetch_array($r)) {
             echo '<a href="category.php?filter='.$row['title'].'" class="list-group-item">'.$row['title'].'</a>';
          }
       }
    }
    else
    {
         $r = mysqli_query($db_connect, "SELECT * FROM category order by title asc");

       if($r) 
       {
          while($row = mysqli_fetch_array($r)) {
             echo '<a href="category.php?filter='.$row['title'].'" class="list-group-item">'.$row['title'].'</a>';
        }
       }
    }
    ?>