将数据库中的 IP 地址存储为整数


Storing IP address in database as integer

我将 IP 地址作为整数存储在数据库中,使用 ip2long(),列类型为无符号 int,但对于数据库中的某些 ip,它另存为 0,我

测试了 ip2long 函数的一些 ip 返回负整数,当我将其插入数据库时,它另存为 0。 我用谷歌搜索,每个人都说该列必须是无符号的 int。

例如:ip2long("212.36.25.15");将返回-735831793,并在数据库中另存为0

使用 INET_ATON 插入 IP 地址。
例如:INET_ATON('127.0.0.1');
使用INET_NTOA取回 IP 地址
例如:选择INET_NTOA("2130706433");

你可以

改用MySQL函数INET_ATON。