IP地址在MYSQL中截断

时间:2011-08-13 14:50:35

标签: php mysql

我正在尝试在mysql中插入IP地址,但错误消息指出IP正在被截断。该列是MYSQL 5.5中的unsigned int(10)。

错误:第1行的'initial_ip'列数据被截断

PHP5

//get the IP address
if ( isset($_SERVER["REMOTE_ADDR"]) )    {
    $ip=$_SERVER["REMOTE_ADDR"] . ' ';
    } else if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) )    {
    $ip=$_SERVER["HTTP_X_FORWARDED_FOR"] . ' ';
    } else if ( isset($_SERVER["HTTP_CLIENT_IP"]) )    {
    $ip=$_SERVER["HTTP_CLIENT_IP"] . ' ';
}

感谢您的帮助

3 个答案:

答案 0 :(得分:6)

您必须convert the IP to an integer,或将其另存为字符串。

BTW:您添加到IP的空间是什么?

答案 1 :(得分:0)

您正试图存储以下内容:

  127.0.0.1

作为一个整数..这看起来显然是错的?将int(10)更改为varchar(15),它应该可以工作。

答案 2 :(得分:0)

数据库中的IP列必须是VARCHAR类型。