I have been trying to fix this error: PHP Fatal error:  Call to a member function prepare() on string in /home/...../lib/library.php on line 91
 I have also check this link: Reference - What does this error mean in PHP?
and i don't seem to understand how to relate it to my problem at hand. Can anyone help? this is the script line affected: 
public function Login($username, $password)
    {
        try {
            $db = DB();
            $query = $db->prepare("SELECT user_id FROM users WHERE (username=:username OR email=:username) AND password=:password");
            $query->bindParam("username", $username, PDO::PARAM_STR);
            $enc_password = hash('sha256', $password);
            $query->bindParam("password", $enc_password, PDO::PARAM_STR);
            $query->execute();
            if ($query->rowCount() > 0) {
                $result = $query->fetch(PDO::FETCH_OBJ);
                return $result->user_id;
            } else {
                return false;
            }
        } catch (PDOException $e) {
            exit($e->getMessage());
        }
    }
 
     
    