Nah, di file pertama Anda, Anda telah mendeklarasikan global variabel global $conn; Saya tidak tahu persis mengapa, tetapi bagaimanapun itu akan berhasil tanpa masalah apa pun karena $conn berada dalam lingkup global.
Tetapi dalam kasus kedua Anda ketika Anda mendeklarasikan global Anda variabel di dalam suatu fungsi, fungsi akan mencari $conn yang berada dalam lingkup global alih-alih variabel lokal $conn yang tampaknya memiliki pegangan koneksi.
hapus global $conn dari fungsi Anda dan itu akan berfungsi.
informasi lebih lanjut tentang cakupan variabel - https://php.net/manual/en /language.variables.scope.php