IPv6 - 国家检测
IPv6 - country detection
我从 Maxmind 下载了一个 CSV 文件,其中包含 IPv6 数据。我需要将它上传到 MySql table 然后使用这个 table 通过 IPv6 检测一个国家。
所以第一个问题是 MySql 类型应该是 LONGSTART
和 LONGEND
字段在我的 MySQL table 中最大整数长度可以是20 而我有 42540488558116655331872044393019998208
号码?
另一个问题是如何构建 MySql 查询以查找 LONGSTART
和 LONGEND
之间的 IP 地址?我使用一个函数( ipv6_numeric($ip)
)将 '2001::11ff:ffff:f'
IPv6 地址转换成一个长数字,如 2540488558116655331872044393019998208
.
感谢提前!
您可以使用以下简单的 SQL 查询。
SELECT * FROM `geoip2`
WHERE [SEARCH IP NO] <= LONGEND LIMIT 1
我从 Maxmind 下载了一个 CSV 文件,其中包含 IPv6 数据。我需要将它上传到 MySql table 然后使用这个 table 通过 IPv6 检测一个国家。
所以第一个问题是 MySql 类型应该是 LONGSTART
和 LONGEND
字段在我的 MySQL table 中最大整数长度可以是20 而我有 42540488558116655331872044393019998208
号码?
另一个问题是如何构建 MySql 查询以查找 LONGSTART
和 LONGEND
之间的 IP 地址?我使用一个函数( ipv6_numeric($ip)
)将 '2001::11ff:ffff:f'
IPv6 地址转换成一个长数字,如 2540488558116655331872044393019998208
.
感谢提前!
您可以使用以下简单的 SQL 查询。
SELECT * FROM `geoip2`
WHERE [SEARCH IP NO] <= LONGEND LIMIT 1