Primeiro, você declarou $db fora da função. Se você quiser usá-lo dentro da função, você deve colocar isso no início do seu código de função:
global $db;
E eu acho que, quando você escreveu:
if($result->num_rows){
return (mysqli_result($query, 0) == 1) ? true : false;
o que você realmente queria era:
if ($result->num_rows==1) { return true; } else { return false; }