我的 MySQL 结果有问题,我有一个名为“posts”的表,其中一列名为“category”,它是一个整数值。我创建了一个变量来根据用户单击的类别链接从浏览器中获取类别编号。
如果类别号是“1”,它应该显示一个测试帖子(确实如此)。但是,如果类别编号不是“1”即类别 id,当它应该说“未找到结果”时它仍然显示相同的测试帖子,因为它正在查询不同的类别 id 编号。
我猜它与 SQL 语法有关,因为我已经在变量名周围添加了单引号,但它出错了,所以我删除了它们。我只在下面发布必要的代码,因为我知道它与 SQL 中的变量有关:
// Variable to hold number
$category = is_numeric($_GET["c"]);
// Query
$query = "SELECT * FROM posts WHERE category = $category";
注意:现在我遇到了不同的问题。我需要这样做,所以当有结果时,while 语句会通过并显示它们,但如果没有结果,则显示另一条消息。问题是当没有结果时它不会显示无结果消息。这是我的代码:
while($results = mysqli_fetch_assoc($query))
{
echo '$results["title"] <br>';
}
if(count($results) == 0 || count($results) == null) {echo 'No results';}
我试过像这样将 if 语句放在 while 和外部,但两种方法都行不通。我必须有 while 语句,因为我知道我会有多个结果,所以我不能使用 if 语句。while 语句需要一个 else!