Maxmind Geolitecity数据库中的IP地址表示

时间:2011-07-07 08:57:44

标签: php mysql ip-address

我在Mysql数据库中有Maxmind Geolitecity数据库。

我可以看到startIpNumendIpNum等字段。

这些字段的值如下:startIpNum为16777216,endIpNum为16777471

我的IP是115.184.126.186,如何将我的IP转换为匹配startIpNumendIpNum

4 个答案:

答案 0 :(得分:2)

使用lmz建议的inet_aton(),或者在php中使用:

http://php.net/manual/en/function.ip2long.php

请注意,此函数返回一个有符号整数,意思是从 - 2,147,483,648到2,147,483,647,我认为maxmind geoip数据库使用无符号整数(0-4,294,967,295?),所以你需要添加2,147,483,647(2 ^ 31-1) )

答案 1 :(得分:1)

尝试使用MySQL中的inet_aton函数。

答案 2 :(得分:0)

尝试这样的事情:

<?php 
 $ipadd="115.184.126.186";
 $ips = explode(".",$ipadd);
 $x=($ips[3] + $ips[2] * 256 + $ips[1] * 256 * 256 + $ips[0] * 256 * 256 * 256);
 echo $x;
?>

只需将此修改为函数..

here是代码

的结果

答案 3 :(得分:0)

尝试像这样转换它 -

SELECT INET_ATON("115.184.126.186");