У меня есть такой код:
<?php
function get_post() {
global $link;
$sql = "SELECT * FROM projects WHERE categoty = 'top' ORDER BY id desc";
$result = mysqli_query($link, $sql);
$posts = mysqli_fetch_all($result, MYSQLI_ASSOC);
return $posts;
}
Сначала была ошибка
Call to undefined function mysqli_fetch_all()
Я поискала информацию и сменила на
while ($posts = $result->fetch_assoc()) {
$results_array[] = $posts;
}
На странице где выводятся данные из БД у меня есть такой код:
<?php
$posts = get_post();
?>
<?php foreach ($posts as $post) : ?>
<div class="portfolio_project wow fadeInUp">
<a href="/project.php?post_id=<?= $post['id'] ?>">
<h1><?php echo $post['title'] ?></h1>
</a>
</div>
<?php endforeach; ?>
После того как я поправил код в первом файле, у меня появилась новая ошибка
Invalid argument supplied for foreach()
Поискав информацию я изменила на:
<?php if (is_array($posts) || is_object($posts)){
foreach ($posts as $post)
{ ?>
<div class="portfolio_project wow fadeInUp">
<a href="/project.php?post_id=<?= $post['id'] ?>">
<h1><?php echo $post['title'] ?></h1>
</a>
</div>
<?php }} ?>
Ошибку перестало выбивать, но и перестало выводить данные из БД
Хотя если я подключаюсь к локальной базе данных, все отлично работает