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

时间:2016-03-22 00:04:28

标签: php mysql

我将ip地址存储在数据库中作为整数,ip2long(),列类型为unsigned int,但对于数据库中的某些ip,它保存为0,我测试了一些ip for ip2long函数返回负整数当我将它插入数据库时​​,它保存为0.我googled,每个人都说该列必须是unsigned int。

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

2 个答案:

答案 0 :(得分:4)

使用INET_ATON插入IP地址。
例如:INET_ATON('127.0.0.1');
使用INET_NTOA获取IP地址
例如:SELECT INET_NTOA('2130706433');

答案 1 :(得分:3)

您可以使用MySQL函数INET_ATON。