PHP - не выводит данные из базы данных MySQL, но ошибок нет?

Итак, у меня есть этот код PHP:

  • Примечание: я использую mysqli_connect() дальше.

    $result = mysqli_query($con,"SELECT * FROM `smf_messages` WHERE `id_board` = 18");
    if(!$result) {
        echo "<center><p>Couldn't fetch news posts. Error code 2.</p></center>";
        mysqli_close($con);
    } else {
        $posts = array();
        $topicbdy = array();
        while($row = mysqli_fetch_array($result,MYSQLI_ASSOC))
        {
            $posts[$row['id_topic']] = $row['id_topic'];
            $topicbdy[$row['id_msg']] = $row['id_msg'];
        }
        $display = max($posts);
        $display2 = min($topicbdy);
        $qry = "SELECT * FROM `smf_messages` WHERE `id_board` = 18 AND `id_topic` = " . $display . " AND `id_msg` = " . $display2;
        $result2 = mysqli_query($con,$qry);
        //echo $qry;
        if(!$result2) {
            echo "<center><p>Couldn't fetch news posts. Error code 3.</p></center>";
        } else {
            while($show = mysqli_fetch_array($result,MYSQLI_ASSOC))
            {
                echo "<center><h1>" . $show['subject'] . "</h1></center><br /><br />";
                echo "<center>" . $show['body'] . "</center><br />";
            }
        }
        mysqli_free_result($result);
        mysqli_free_result($result2);
        mysqli_close($con);
    

Предполагается, что самая свежая тема из базы данных для моего форума, основанного на SMF, должна быть получена с доски новостей, получая самый высокий идентификатор темы, но самый низкий идентификатор сообщения. Кажется, он выполняет запрос просто отлично, так как я не получаю никаких ошибок, но он не показывает тему или текст. Что я должен делать?

1 ответ

Ваш $result переменная неверна для второго запроса. Для вашего второго запроса

 while($show = mysqli_fetch_array($result,MYSQLI_ASSOC))

Должно быть

 while($show = mysqli_fetch_array($result2,MYSQLI_ASSOC))
                                         ^
Другие вопросы по тегам