【问题标题】:Store IPV6 and IPV4 in MySql and also read it在 MySql 中存储 IPV6 和 IPV4 并读取它
【发布时间】:2011-07-19 06:11:15
【问题描述】:

我有一个 php 网站。我想为每个用户存储最后一个 ip。我希望它适用于 IPV4 和 IPV6 用户。知道怎么做吗?

【问题讨论】:

  • 你的问题在哪里?用php连接数据库,DB设计,获取用户IP,...?
  • Dup of: stackoverflow.com/questions/420680/… 请注意接受的答案,它解释了如何区分 IPv4 和 IPv6

标签: php mysql


【解决方案1】:

只需使用inet_pton() 将它们转换为二进制表示,然后再使用inet_ntop() 转换回字符串。

另一种解决方案是将 IP 字符串存储在数据库中而不进行任何转换。 VARCHAR(39) 字段将完成这项工作,因为最高/最长的 IPv6 是 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 2016-09-18
    • 2013-07-03
    • 2014-05-03
    • 2023-03-09
    • 2022-08-21
    相关资源
    最近更新 更多