twofolls95
@twofolls95

Как правильно реализовать вывод записи из БД на сайт?

Всем хай :)
Задача следующая, я хочу реализовать вывод из БД, а точнее заголовок статьи и её текст на сайт.
Я набросал код, но он почему-то он не хочет работать, никаких ошибок не выдаёт, просто пустота. Что я сделал не так?

Подключение к БД (connect.php):
$connect = mysqli_connect('localhost', 'root', '', 'hyblog');
if($connect == false){
	echo 'Ошибка подключения к БД';
	exit;
}


Запрос к БД:
require_once 'connect.php';
$article = mysqli_query($connect, "SELECT * FROM `articles`");  // помещаем в переменную $articles результат запроса;
$art = mysqli_fetch_all($article);  // помещаем данные в виде массива из таблицы `articles` в переменную $art;

HTML-код:
<div class="text">
		<div class="article">
			<h2><?php echo $art['title']; ?></h2>
			<p><?php echo $art['text']; ?></p>
		</div>
	</div>


Таблица articles:
CREATE TABLE `articles` (
  `id` int(11) NOT NULL,
  `title` varchar(255) NOT NULL,
  `text` text NOT NULL,
  `data` datetime NOT NULL DEFAULT current_timestamp()

5d47cc27a322e571312684.png

Заранее спасибо! :)
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 2
@dimuska139
Backend developer
У тебя в $art не просто ассоциативный массив, а массив из ассоциативных массивов. Так что тебе в шаблоне нужен цикл, либо обращайся по индексу:
<div class="text">
    <div class="article">
      <h2><?php echo $art[0]['title']; ?></h2>
      <p><?php echo $art[0]['text']; ?></p>
    </div>
  </div>
Ответ написан
ivanshumakov
@ivanshumakov
Делаю свои первые шаги в мире IT
Нужно делать echo $art[0]['title']; потому что mysqli_fetch_all($article) вернула вам массив с ассоциативными массивами, где $art[0], $art[1], $art[3] соответствует строкам вашей таблицы. Проверьте содержимое массива $art передав его в функцию print_r( ), обернутую в тег и сами все увидите:
<pre>
<?php print_r($art) ?>
</pre>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы