Прошу обратить внимание на последовательность вызовов в одном из примеров - для PDO::FETCH_INTO.
Подозреванию, что это неверная последовательность.
$stmt->setFetchMode(\PDO::FETCH_INTO, $obj);
$stmt = $db->query("SELECT userid, name, country, referred_by_userid FROM users");