繁体   English   中英

数据库插入时IP地址错误

[英]IP address wrong on database insert

将IP写入数据库时​​遇到问题。 如果我在$ip=$_SERVER['REMOTE_ADDR'];之后打印$ ip $ip=$_SERVER['REMOTE_ADDR']; ,我得到54.231.128.128。 但是,如果我将ip插入数据库,则会插入203223。这是我的代码。

<?php include "db.php";
session_start();
$toemail=$_POST["toemail"];
$report=$_POST["report"];
$ip=$_SERVER['REMOTE_ADDR'];
$fromemail=$_SESSION['nahid'];
$date=(time());
$tatus="Active";

if(!$_POST['submit'])   {
    echo "Please fill out the form";

    }   else    {

    // $query_auto = "INSERT INTO form (date, time) VALUE ('DATE: Auto CURDATE()', CURDATE() )";


mysql_query("INSERT INTO report(`id`, `from`, `msg`, `to`, `date`, `ip`, `status`) 
            VALUES(NULL,'$fromemail','$report','$toemail','$date', '$ip', '$tatus')") or die(mysql_error());
    header('Location: report_congratulations.php');
}

?> 

参考INET_ATONINET_NTOA

mysql_query("INSERT INTO report(`id`, `from`, `msg`, `to`, `date`, (INET_ATON('$ip')), `status`) 
        VALUES(NULL,'$fromemail','$report','$toemail','$date', '$ip', '$tatus')") or      die(mysql_error());

问题解决了。 我的数据库IP列为整数。 但是现在我转换了varchar,问题解决了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM