php Список пользователей, зарегистрированных с одинаковыми IP-адресами несколько раз

0

Я сохранил IP-адреса членов в поле в базе данных, например mem_ip используя $_SERVER['REMOTE_ADDR']. Я хочу проверить пользователей, которые зарегистрировали несколько учетных записей с одинаковыми IP-адресами, чтобы предотвратить спам (например, предотвращение создания собственного реферала). Я создал страницу в разделе моего администратора, где начал вводить запрос SELECT mem_id, mem_uname, mem_ip FROM members WHERE.... но потом вдруг понял, что я точно не знаю, как это сделать. Как я могу извлечь список тех пользователей, которые зарегистрировали несколько учетных записей с тем же IP-адресом? Любой, кто знает трюк, помогите мне.

Таблица: участники

mem_id    mem_uname    mem_email       mem_pass          mem_ip
1         demouser     [email protected]  bcryptHashCode    IPv4 / IPv6 format
  • 0
    установить уникальное ограничение на столбец адреса электронной почты / имени пользователя. Зачем проверять IP-адрес? это не надежно
  • 0
    @FunkFortyNiner не могли бы вы уточнить?
Показать ещё 10 комментариев
Теги:
mysqli
pdo

1 ответ

0
Лучший ответ

Присоединившись к подзапросу, который выбирает только те IP-адреса, которые происходят более одного раза, вы можете создать список пользователей, которые зарегистрировались с одного IP-адреса.

SELECT
    a.'mem_id',
    a.'mem_uname',
    a.'mem_ip'
FROM 'members' a
JOIN (
    SELECT 'mem_ip',count(*) as 'numrows' 
    FROM 'members' 
    GROUP by 'mem_ip'
    HAVING 'numrows' > 1
) b
ON a.'mem_ip' = b.'mem_ip'
ORDER BY a.'mem_ip',a.'mem_id'
  • 0
    как отобразить данные, если в цикле while используется extract ($ variable)? <?php echo $a.mem_ip; ?> ???? сюда?
  • 0
    Код PHP для выполнения и вывода результатов был бы совершенно другим вопросом. Если вы измените свой вопрос, чтобы показать имеющийся у вас PHP-код, я мог бы дать вам лучший ответ. Тем не менее, это действительно должен быть другой вопрос.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню