<?php function load($db, $bd) { $echo = ""; if(auth($db, $bd, $_COOKIE['user'], $_COOKIE['user_id']) { $result = mysqli_query($db,"SELECT * FROM `messege`"); if($result) { if(mysqli_num_rows($result) >= 1) { while($array = mysqli_fetch_array($result)) { $user_result = mysqli_query($bd,"SELECT * FROM users WHERE id='$array[user_id]'"); if(mysqli_num_rows($user_result) == 1) { $user = mysqli_fetch_array($user_result); $echo .= "<div class='message'><div class='message__header'><img src='https://via.placeholder.com/30' alt='Avatar' class='message__avatar'><div class='message__author'><div class='message__name'>$user[login]</div><time class='message__role'>Магистр наук</time></div></div><div class='message__text'>$array[message]</div></div>"; } } } else { $echo = "Нет сообщений!"; } } } else { $echo = "Проблема авторизации"; } return $echo; } ?>
Код надо форматировать - это раз. Два: какая именно ошибка - скопируйте полностью. Код (Text): <?php echo 'Код надо выделять!'; ?>
скорее всего тут надо правильно уметь пользоваться кавычками разными PHP: $user_result = mysqli_query($bd,"SELECT * FROM users WHERE id='{$array['user_id']}'"); ну и не устану повторять - запросы в цикле - это зло! в 99.9999% от них можно избавится сделав один запрос
А еще имена столбцов и полей можно заворачивать в `backticks`, если это зарезервированное слово MySQL. А их довольно прилично. Есть риск напороться
Если честно очень лень считать строки ладно, так уж и быть >= на поменяйте => хотя в вашем случае я бы юзал > 0
Как раз таки про ошибку я и не знал, поэтому и спрашивал. Но ошибку я давно нашел --- Добавлено --- Нет, я там все верно задал. А на счет запроса в базу, просто устал искать ошибку и запихнул запрос туда.