Warning: Invalid argument supplied for foreach() in C:\OSPanel\domains\web\DB\db.php on line 30 Вот код: <?php $dbhost = "localhost"; $dbname = "test_saneto"; $username = "root"; $password = ""; $db = new PDO("mysql:host=$dbhost; dbname=$dbname", $username, $password); // Получение всех статей function get_singles_all(){ global $db; $singles = $db->query("SELECT * FROM singles ORDER BY id DESC"); return $singles; } // Получение статьи по ее id function get_single_by_id($id){ global $db; $singles = $db->query("SELECT * FROM singles WHERE id = $id"); foreach($singles as $single){ return $single; } } // Получение названия категории function get_category_by_id($id){ global $db; $categories = $db->query("SELECT * FROM categories WHERE id = $id"); foreach($categories as $category){ return $category["category_id"]; } } // Получение имен авторов function get_authors_by_id($id){ global $db; $authors = $db->query("SELECT * FROM authors WHERE id = $id"); foreach($authors as $author){ return $author["author_name"]; } } // Получение комментариев function get_comments_all(){ global $db; $comments = $db->query("SELECT * FROM comments"); return $comments; } // Получение комментариев по id function get_comments_all_by_id($id){ global $db; $comments = $db->query("SELECT * FROM comments WHERE id_comment = $id"); foreach($comments as $comment){ return $comment["comment_text"]; } }
Ошибка говорит, что ты закинул в цикл то, что туда закидывать нельзя. Скорее всего у тебя с базы не выгружаются записи/выгружается одна и цикл не может сделать действия для каждого