首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用PHP语言实现MySQL数据库中IP地址的存储

用PHP语言实现MySQL数据库中IP地址的存储
EN

Stack Overflow用户
提问于 2011-06-21 23:22:44
回答 3查看 70.4K关注 0票数 60

mysql中IP地址的正确字段类型是什么?使用PHP存储数据的正确方式是什么?

EN

回答 3

Stack Overflow用户

发布于 2011-06-21 23:28:23

This tutorial可能会对您有所帮助。

节省IPv4地址的最有效方法是使用INT字段(而不是您可能期望的VARCHAR域)。您可以使用PHP的ip2long来回转换它们,可以使用MySQL的INET_NTOA函数或PHP的long2ip函数。

如果你需要存储IPv6,你需要使用一个二进制域和PHP的inet_pton函数。

票数 62
EN

Stack Overflow用户

发布于 2011-06-21 23:28:07

您可以将它们存储在长度为128位(16字节、BINARY(16)VARBINARY(16))的二进制字段中。要将任何ip地址转换为其二进制表示形式,可以使用php函数inet_pton。此方法适用于IPv4和IPv6地址。inet_ntop可用于获取存储的ip地址的字符串表示形式(与版本无关)

票数 52
EN

Stack Overflow用户

发布于 2011-06-21 23:26:24

通常,您可以使用VARCHAR(45),因为它将足够长,甚至可以存储IPv6。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6427786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档