Najpierw zadeklarowałeś $db poza funkcją. Jeśli chcesz użyć go wewnątrz funkcji, powinieneś umieścić to na początku kodu funkcji:
global $db;
I myślę, że kiedy napisałeś:
if($result->num_rows){
return (mysqli_result($query, 0) == 1) ? true : false;
to, czego naprawdę chciałeś, to:
if ($result->num_rows==1) { return true; } else { return false; }