Как сказано в руководстве:
Оператор include_once включает и оценивает указанный файл во время выполнения сценария.Это поведение похоже на оператор include, с той лишь разницей, что если код из файла уже был включен, он не будет включен снова, а include_once возвращает TRUE.Как следует из названия, файл будет включен только один раз.
Так что, если вы используете его дважды, второй include_once()
ничего не будет делать.Теперь, когда вы выполняете $conn = null;
после каждого использования соединения, вы уничтожаете соединение, которое вы установили с первого include_once()
, поэтому соединения не осталось, а второе include_once()
не будет повторно соединять соединение, так как оно не будетбыть выполненным PHP.
Вам действительно нужно подключаться только один раз для каждого скрипта.Поэтому оставьте первую include_once()
там, где она есть, и удалите вторую.
Затем найдите все строки $conn = null;
в своем коде и удалите все из них.PHP автоматически закроет соединение с базой данных, когда очистит память после завершения скрипта.