Как я могу избежать этой проблемы - mysqli_fetch_assoc() ожидает, что параметр 1 будет mysqli_result, с учетом логического значения
Я хотел бы понять, почему именно эта ошибка возникает, иногда я получаю мою переменную $result, представленную таким же образом, и ошибка не произойдет. я попытался найти причину, ну и не очень удача. Так что у меня есть пример кода, где возникает следующая ошибка.
mysqli_fetch_assoc () ожидает, что параметр 1 будет mysqli_result, логическое значение указано в строке 26
Может ли кто-нибудь помочь мне исправить это и дать правильное объяснение?
<?php
include 'connect.php';
include 'header.php';
//first select the category based on $_GET['cat_id']
if($_SERVER['REQUEST_METHOD'] != 'get')
{
$sql = "SELECT
cat_id,
cat_name,
cat_description
FROM
categories
WHERE
cat_id = " . mysqli_real_escape_string($link, $_GET['cat_id']);
$result = mysqli_query($link, $sql);
if(!isset($result))
{
echo 'The category could not be displayed, please try again later.';
}
else
{
//display category data
while($row = mysqli_fetch_assoc($result))
{
echo '<h2>Topics in ′' . $row['cat_name'] . '′ category</h2>';
}
//do a query for the topics
$sql = "SELECT
topic_id,
topic_subject,
topic_date,
topic_cat
FROM
topics
WHERE
topic_cat = " . mysqli_real_escape_string($link,$_GET['topic_cat']);
$result = mysqli_query($link, $sql);
if(!isset($result))
{
echo 'The topics could not be displayed, please try again later.';
}
else
{
if(mysqli_num_rows($result)== 0)
{
echo 'There are no topics in this category yet.';
}
else
{
//prepare the table
echo '<table border="1">
<tr>
<th>Topic</th>
<th>Created at</th>
</tr>';
while($row = mysqli_fetch_assoc($result))
{
echo '<tr>';
echo '<td class="leftpart">';
echo '<h3><a href="topic.php?id=' . $row['topic_id'] . '">' . $row['topic_subject'] . '</a><h3>';
echo '</td>';
echo '<td class="rightpart">';
echo date('d-m-Y', strtotime($row['topic_date']));
echo '</td>';
echo '</tr>';
}
}
}
}
}
include 'footer.php';
?>