Php 如何将我的ip添加到数据库?
我在将ip添加到数据库时遇到问题。 我有以下代码:Php 如何将我的ip添加到数据库?,php,mysql,database,Php,Mysql,Database,我在将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 = $_SERVER['REMOTE_ADDR'];
$long = ip2long($ip);
if ($polaczenie->query("INSERT INTO post VALUES (NULL, '$long', '$massage',
'$datum')")){
$dodano = "Added post to datebase";
}
此代码正在向表中添加奇怪的数字。例如:520125797
您知道如何将ip添加到数据库。基于:-
ip2long-将包含(IPv4)互联网协议点地址的字符串转换为长整数
因此,它正在做正确的事情
您必须直接使用$ip
:-
$ip = $_SERVER['REMOTE_ADDR'];
if ($polaczenie->query("INSERT INTO post VALUES (NULL, '$ip', '$massage',
'$datum')")){
$dodano = "Added post to database";
}
注意:-正如我们所讨论的,您需要将列数据类型更改为
Varchar(256)
,而不是BIGINT
阅读此操作。您需要直接使用$ip
进行插入ip2long()
正在做它所做的事情,即删除ip2long$长=$ip;好的,现在我有了这个代码:$ip=$\u服务器['REMOTE\u ADDR'];如果($polaczenie->query(“插入到post值(NULL,$long','$按摩','$datum')){$dodano=“Added post to datebase”;}但我在datebase中只有图310ok,我做了这个,但在datebase中我只有图310。我想应该是31.0.125.101你知道我现在应该怎么做才能得到basedate正确的ip吗?@user8160814你想保存ip的列的类型是什么?列的类型是biginuse varchar(256)或varchar(100)