Я сохранил 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
Присоединившись к подзапросу, который выбирает только те 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'
<?php echo $a.mem_ip; ?>
???? сюда?