Đầu tiên, bạn đã khai báo $ db bên ngoài hàm. Nếu bạn muốn sử dụng nó bên trong hàm, bạn nên đặt nó ở đầu mã hàm của mình:
global $db;
Và tôi đoán, khi bạn viết:
if($result->num_rows){
return (mysqli_result($query, 0) == 1) ? true : false;
những gì bạn thực sự muốn là:
if ($result->num_rows==1) { return true; } else { return false; }