Tout d'abord, vous avez déclaré $db en dehors de la fonction. Si vous voulez l'utiliser à l'intérieur de la fonction, vous devez mettre ceci au début de votre code de fonction :
global $db;
Et je suppose que lorsque vous avez écrit :
if($result->num_rows){
return (mysqli_result($query, 0) == 1) ? true : false;
ce que vous vouliez vraiment était :
if ($result->num_rows==1) { return true; } else { return false; }