我在Mysql数据库中有Maxmind Geolitecity数据库。
我可以看到startIpNum
和endIpNum
等字段。
这些字段的值如下:startIpNum
为16777216,endIpNum为16777471
。
我的IP是115.184.126.186,如何将我的IP转换为匹配startIpNum
或endIpNum
?
答案 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");