Е, в първия си файл сте декларирали global
променлива global $conn;
Не знам точно защо, но така или иначе това ще работи без проблем, защото $conn е в глобален обхват.
Но във втория ви случай, когато декларирате своя global
променлива във функция, функцията ще търси $conn
който е в глобален обхват вместо локалната променлива $conn
който очевидно има манипулатора на връзката.
премахнете global $conn
от вашата функция и трябва да работи.
повече информация за обхвата на променливите - http://php.net/manual/en /language.variables.scope.php