Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как лучше хранить IP?
 
 автор: а-я   (12.02.2008 в 19:56)   письмо автору
 
 

Использовать,
ip2long от PHP
или
INET_ATON от мускула?

И какой тип поля выбрать.

я так понял для ip2long пойдет INT
а для INET_ATON только BIGINT?

какой макс. значение у INET_ATON...

и что там на счет IPv6. у вас такие гости были?

   
 
 автор: а-я   (12.02.2008 в 21:00)   письмо автору
 
   для: а-я   (12.02.2008 в 19:56)
 

хотя, при


mysql> SELECT INET_ATON('255.255.255.255');
+------------------------------+
| INET_ATON('255.255.255.255') |
+------------------------------+
|                   4294967295 |
+------------------------------+
1 row in set (0.00 sec)


4294967295 = int(10) unsigned

значит INT подойдет. это так?

   
 
 автор: а-я   (12.02.2008 в 21:22)   письмо автору
 
   для: а-я   (12.02.2008 в 19:56)
 

-

   
 
 автор: mechanic   (13.02.2008 в 09:52)   письмо автору
 
   для: а-я   (12.02.2008 в 19:56)
 

а разве inet_aton и ip2long не одно и то же?
просто первое - средство мускуля, а второе - пхпшное..
тип поля конечно int в этом случае

   
 
 автор: а-я   (13.02.2008 в 19:34)   письмо автору
 
   для: mechanic   (13.02.2008 в 09:52)
 

>а разве inet_aton и ip2long не одно и то же?

нет. это разные функции...
inet_aton - получает только положит.. числа от 0 до 4294967295
а
ip2long - имеет отриц. значиния от -2147483648 до 2147483647

   
 
 автор: mechanic   (15.02.2008 в 09:29)   письмо автору
 
   для: а-я   (13.02.2008 в 19:34)
 

думаю не все так ужасно
вот что пишет ru2.php.net про ip2long():
<?php
$ip = gethostbyname('www.example.com');
$long = ip2long($ip);

if ($long == -1 || $long === FALSE) {
echo 'Invalid IP, please try again';
} else {
echo $ip . "\n"; // 192.0.34.166
echo $long . "\n"; // -1073732954
printf("%u\n", ip2long($ip)); // 3221234342
}
?>

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

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования