我将ip添加到数据库时遇到问题。 我有以下代码:
$ip = $_SERVER['REMOTE_ADDR'];
$long = ip2long($ip);
if ($polaczenie->query("INSERT INTO post VALUES (NULL, '$long', '$massage',
'$datum')")){
$dodano = "Added post to datebase";
}
这段代码为表添加了奇怪的数字。例如:520125797 你知道如何将ip添加到数据库吗?
答案 0 :(得分:0)
基于ip2long() Manual: -
ip2long - 将包含(IPv4)Internet协议虚线地址的字符串转换为长整数
所以这样做是正确的。
您必须直接使用$ip
: -
$ip = $_SERVER['REMOTE_ADDR'];
if ($polaczenie->query("INSERT INTO post VALUES (NULL, '$ip', '$massage',
'$datum')")){
$dodano = "Added post to database";
}
注意: - 正如我们所讨论的,您需要将列数据类型更改为Varchar(256)
而不是BIGINT
。