Я бы разработал его с 2 таблицами - во-первых, чтобы нести информацию о пользователе вместе с уровнем членства (свободный, золотой), а во-вторых, чтобы иметь валидность против типа членства.В вашем коде вы должны определить, является ли доступ действительным или нет, просмотрев достоверность в таблице достоверности.Это даст вам гибкость, чтобы добавить больше уровней в будущем, если вы хотите.Вот очень грубая схема того, на что я намекаю:
mysql> desc members;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| membership | varchar(20) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
2 rows in set (0.03 sec)
mysql> desc memberships;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| validity | int(3) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)