首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将32位系统上的ip2long负值存储到MySQL

如何将32位系统上的ip2long负值存储到MySQL
EN

Stack Overflow用户
提问于 2015-10-09 10:00:22
回答 1查看 497关注 0票数 0

我必须将IP地址存储到32位系统上运行的MySQL表中。

在64位系统上,我只需使用INT(10) UNSIGNED,因为ip2long始终是一个绝对值。

如何使它在32位上工作?我有两个选择。

  1. 删除UNSIGNED并存储负值,但我不确定一旦这样做,值是否仍然太大或太小(因为上限将减少一半,以便允许下限为负值)
  2. 使用sprintf("%u",ip2long( $ip )) checkout this post (可能比1慢)。

还有其他解决办法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-10-09 12:11:02

您可以尝试使用INET_ATON函数inet-aton在SQL查询中,而不是在PHP中转换IP。您需要使用INT无符号作为列类型。

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

https://stackoverflow.com/questions/33035325

复制
相关文章

相似问题

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