long2ip无法使用数据库中的字符串

时间:2019-01-22 15:47:43

标签: php ip2long

我的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上运行

1 个答案:

答案 0 :(得分:0)

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

我怀疑您会收到警告。

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

https://3v4l.org/X7GQm