使用PHP存储在MySQL数据库中的IP地址
什么是正确的字段types的IP地址在MySQL? 什么是使用PHP存储它的正确方法?
本教程可能会帮助你。
保存IPv4地址的最有效方法是使用INT字段(不像您所期望的那样使用VARCHAR)。 您可以使用PHP的ip2long
转换它们,使用MySQL的INET_NTOA
函数或PHP的long2ip
函数。
如果您需要存储IPv6,则需要使用BINARY字段,并使用PHP的inet_pton
函数。
您可以将它们存储在长度为128位(16字节, BINARY(16)
或VARBINARY(16)
)的二进制字段中。 把任何ip地址转换成它的二进制表示,你可以使用php函数inet_pton
。 此方法将适用于IPv4和IPv6地址。 inet_ntop
可以用来取回存储的IP地址的string表示(不pipe版本)
一般来说,您可以使用VARCHAR(45),因为它将足够长,甚至可以存储IPv6。