15 Şub 2007

IP idreslerini mysql tablolarında saklamak

Mysql'de ip adreslerini saklamak icin varolan bir veri tipi yok malesef.Web uygulamalarımda kullanmak için watchdog tarzında bir ortam geliştirmeye başladım bugün.Ip adreslerini mantıklı bir şekilde saklamak ve daha sonra kolayca ulaşabilmek için kullanılan yöntemleri merak ettim.
Google'da birkaç aramadan sonra buldugum birkaç ipucunu buraya yazayım istedim.

mysql'de unsigned int(11) tipinde bir alan acip php'nin ip2long fonksiyonu ile donusturme islemi yapmak bir yontem.

$ip = '127.0.0.1';

$long_ip = ip2long($ip);



İkinci bir yöntem ise mysql ile gelen INET_ATON() ve INET_NTOA() fonksiyonları.

insert into table (ip) values (INET_ATON('127.0.0.1')) /* 2130706433 */
select INET_NTOA(ip) as ip from table LIMIT 0,1000 /* 127.0.0.1 */


Hiç yorum yok: