首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我的数据库中插入ip2long有问题

在我的数据库中插入ip2long有问题
EN

Stack Overflow用户
提问于 2012-09-17 13:24:59
回答 1查看 1.5K关注 0票数 0

所以我把我的网站上传到我刚买的网络服务器上,在我的电脑上一切都很正常。但是现在我在我的数据库中插入数据时遇到了一个问题,我追踪到了这个问题,就是创建插入到每一行中的行的用户的IP地址。

我有一个php函数,它返回ip2long值,如下所示:

代码语言:javascript
复制
function ip2()
    {
        return ip2long($_SERVER['REMOTE_ADDR']);
    }

然后将它插入到我的数据库中,sql代码如下所示:

代码语言:javascript
复制
$sql = "INSERT INTO `Users` 
                    (
                        `Username`,
                        `Password`,
                        `Email`,
                        `ip_created`
                    )
                    VALUES 
                    (
                        '".$db->sql_escape(htmlspecialchars($this->username, ENT_QUOTES))."',
                        '".$db->sql_escape($this->secure_pass)."',
                        '".$db->sql_escape($this->clean_email)."',
                        '".ip2()."'
                    )";

$db->sql_query($sql))

ip_created字段是长度为10的int

所有的数据库交互都是在php类中处理的,这可能是一个问题。

我真的不知道这个问题是从哪里来的,它真的开始困扰我了。在我的本地版本中,一切都很完美。

EN

回答 1

Stack Overflow用户

发布于 2012-09-17 13:30:33

id2long手册页注释包含:

请注意,当您运行64位系统时,ip2long将产生不适合MySQL INT的64位整数,您可以使用BIGINT或INT无符号,因为在64位系统上,ip2long永远不会返回负整数。另见https://bugs.php.net/bug.php?id=54338

这可能是原因吗?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12460189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档