Nå, i din første fil har du erklæret en global
variabel global $conn;
Jeg ved ikke helt hvorfor, men det ville alligevel fungere uden problemer, fordi $conn er i globalt omfang.
Men i dit andet tilfælde, når du erklærer din global
variabel inde i en funktion, vil funktionen søge efter $conn
som er i globalt omfang i stedet for den lokale variabel $conn
som tilsyneladende har forbindelseshåndtaget.
fjern den global $conn
fra din funktion, og det burde virke.
flere oplysninger om variable omfang - http://php.net/manual/en /language.variables.scope.php