Ve svém prvním souboru jste deklarovali global
proměnná global $conn;
Nevím přesně proč, ale každopádně by to fungovalo bez problémů, protože $conn je v globálním měřítku.
Ale ve vašem druhém případě, když deklarujete global
proměnná uvnitř funkce, funkce by hledala $conn
která je v globálním rozsahu místo lokální proměnné $conn
který má zřejmě úchyt připojení.
odstraňte global $conn
z vaší funkce a mělo by to fungovat.
více informací o proměnných rozsahech - http://php.net/manual/en /language.variables.scope.php