我正在尝试在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"] . ' ';
}
感谢您的帮助
答案 0 :(得分:6)
您必须convert the IP to an integer,或将其另存为字符串。
BTW:您添加到IP的空间是什么?
答案 1 :(得分:0)
您正试图存储以下内容:
127.0.0.1
作为一个整数..这看起来显然是错的?将int(10)更改为varchar(15),它应该可以工作。
答案 2 :(得分:0)
数据库中的IP列必须是VARCHAR类型。