Pertama, Anda mendeklarasikan $db di luar fungsi. Jika Anda ingin menggunakannya di dalam fungsi, Anda harus meletakkan ini di awal kode fungsi Anda:
global $db;
Dan saya rasa, ketika Anda menulis:
if($result->num_rows){
return (mysqli_result($query, 0) == 1) ? true : false;
yang sebenarnya Anda inginkan adalah:
if ($result->num_rows==1) { return true; } else { return false; }