Неустранимая ошибка: вызов функции-члена prepare () для не-объекта с PDO

У меня есть файл, который содержит другой файл:

index.php – динамический шаблон

<?php $db = new PDO("mysql:host=localhost;dbname=db", $DB_USER, $DB_PASSWORD); include(functions.php); ?> 

functions.php

 <?php $preparedStatement = $db->prepare("SELECT id FROM table LIMIT 1"); $preparedStatement->execute(); $firstId = $preparedStatement->fetchAll(); ?> 

когда функции functions.php выполняются, я получаю:

 Fatal error: Call to a member function prepare() on a non-object 

на линии

 $preparedStatement = $db->prepare("SELECT id FROM table LIMIT 1"); 

Что не так с этим кодом, чтобы он выдавал ошибку?

Редактировать: ошибка возникла из-за того, что я напрямую подключил файл functions.php, он не появился, когда он был включен из index.php, проблема, с которой я столкнулся, не была загружена в последующих включениях, что было вызвано тем, что я забыл правильно адресовать массивы в более позднем файле. Выбранный ответ правильный для вопроса, который я представил.

неправильное включение файлов;

include index.php на странице function.php , не включайте наоборот

Лучшая практика использования include_once