【问题标题】:php decode binary(16) ip from mysqlphp从mysql解码二进制(16)ip
【发布时间】:2016-02-29 06:25:27
【问题描述】:

我的 ip 以二进制 (16) 格式存储在 mysql 中

在 phpmyadmin 中是这样的:

4c44b817

如何将其转换为可读的 ip 字符串?

谢谢!!

【问题讨论】:

  • 如果是十六进制,则使用 echo hexdec('4c44b817'); 转换为十进制;
  • 我已经试过了,但结果只是“13”
  • 对我来说是:1279571991。我们在谈论什么数据库/表?

标签: php mysql


【解决方案1】:

MySQL 具有 INET_NTOA() 函数,可将数字 IPv4 地址表示转换为点分四进制字符串,例如:

mysql> SELECT INET_NTOA(0x4c44b817);
+-----------------------+
| INET_NTOA(0x4c44b817) |
+-----------------------+
| 76.68.184.23          |
+-----------------------+

还有INET_ATON() 可以反过来工作,还有INET6_* 两个函数的版本都可以使用IPv6 地址。

【讨论】:

  • 这可能就是我们想要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-09
  • 2015-03-06
  • 1970-01-01
  • 1970-01-01
  • 2012-03-19
相关资源
最近更新 更多