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 */

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s