php - 在 PHP MySQL 中存储和搜索 IPv6 范围

标签 php mysql ipv6

我有一个 CVS 数据库,它提供了 V6 范围 2001:1800::/32 和国家/地区代码 US。到目前为止,我将它们放在 $ip_address $cc_code 中。

我需要将每个范围存储在 MySQL 中。我还需要获取用户 IP 地址并获取国家/地区代码。我已经通过存储开始和结束范围让 V4 工作了,但数据库已经给了我这个。所以我一直坚持让 V6 工作。我做了一些谷歌搜索,但找不到太多相关内容。也许我问错了?那么这里有人可以给我一些建议吗?我已经知道如何检测V4和V6。所以到目前为止我已经完成了很多工作。只是存储范围/代码并在我陷入困境的地方将其退休。

最佳答案

IP 地址基本上都是整数,您只需转换它们并使用基本数学技能进行交互即可:WHERE $ip BETWEEN start AND endhttp://www.samclarke.com/2011/07/php-ipv6-to-128bit-int/

关于php - 在 PHP MySQL 中存储和搜索 IPv6 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9243216/

相关文章:

php - 如何在 mongodb 中提取对象 ID 并对其进行搜索?

php - SQL 中的多个条目?

mysql - 将每天递增的数字添加到表中

C# IPv4/IPv6 不可知套接字监听器

测试 - 无法在 Mac 上创建 IPv6 网络

c++ - 如何将套接字绑定(bind)到 ipv6 地址?

javascript - 动态设置颜色为 tr

javascript - 多个文件选择仅返回最后一个文件

php - 如何防止一个页面出现多条sql查询?

java - Aurora MySQL 中的瞬时查询超时(使用 jOOQ、MariaDB 驱动程序)