0

我对 long2ip 函数有疑问。使用来自 $_SERVEUR 或字符串 var 的数据,它工作正常,给了我正确的 IP。但是使用数据库中的字符串,结果是 0.0.0.0 。

<?php
$varip = '127.0.0.1';
p(ip2long($varip)); //display int(2130706433)
$varip2long = ip2long($varip);
p(long2ip($varip2long)); //string(9) "127.0.0.1"

p($longIpFromDb); //display string(10) "2130706433"
p(long2ip($longIpFromDb)); //display string(7) "0.0.0.0"
p(long2ip((int)$longIpFromDb)); //display string(7) "0.0.0.0"
?>

我在 64 位服务器上运行,mysql 5.0.11

4

1 回答 1

0

首先确保 error_reporting 设置为 E_ALL error_reporting(E_ALL);

因为我怀疑您收到警告。

这个结果很奇怪:0.0.0.0。使用无效数据,我得到 0.0.0.1。

https://3v4l.org/X7GQm

于 2019-01-22T16:27:52.563 回答