Innanzitutto, hai dichiarato $db al di fuori della funzione. Se vuoi usarlo all'interno della funzione, dovresti inserirlo all'inizio del codice della tua funzione:
global $db;
E suppongo, quando hai scritto:
if($result->num_rows){
return (mysqli_result($query, 0) == 1) ? true : false;
quello che volevi veramente era:
if ($result->num_rows==1) { return true; } else { return false; }