使用 PHP 存储在 MySQL 数据库中的 IP 地址

2022-08-30 09:34:59

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


答案 1

本教程可能会对您有所帮助。

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

如果需要存储 IPv6,则需要使用 BINARY 字段和 PHP 的inet_pton函数。


答案 2

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


推荐