Общие > Базы данных

Использование масок

<< < (2/5) > >>

YA:
А RLIKE не подходит?
Если таблица большая, возможно, действительно надо разбивать на 4 поля (RLIKE, естественно, уже не понадобится) и индексировать их.

Xander:
Господа, не тупите, пожалуйста...

<?php

$ip="\\\\\\xC0\\\\\\xA8\\\\\\x00\\\\\\x05";
$mask="\\\\\\xC0\\\\\\xA8\\\\\\x00\\\\\\xFF";
if (($ip & ~$mask)=="\\\\\\x00\\\\\\x00\\\\\\x00\\\\\\x00") {
echo "IP matches mask"; 
} else {
echo "IP doesnt matches mask"; 
}
?>

То же самое можно сделать на любом языке, в котором есть бмнарные операторы. И заверяю вас, это будет ГОРАЗДО проще и быстрее, чем хранение IP в четырех полях, RLIKE, или встроенные регекспы языка. Всего-то VARCHAR(4) и пара строчек кода...

Maniac:

--- Цитировать ---Господа, не тупите, пожалуйста...
--- Конец цитаты ---

Гы, сдается мне, что человек хочет создавать бан-листы. Т.е. проверять, удовлетворяет ли айпишник хоть чему-нибудь из бд. Что ему, для этого просто жизненно необходимо всю базу к себе вытягивать?

ThE0ReTiC:
Ardzhan
REGEXP смотри в мане mysql
все через него можно сделать на два. :)

Xander:
Maniac,
ThE0ReTiC

есть же в MySql bitwise AND: http://www.mysql.com/doc/en/Bit_functions.html#IDX1315

Неужели нельзя без регекспов обойтись, одними битовыми операциями?
(это я просто спрашиваю)

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии