long2ip не работает со строкой из базы данных

У меня проблема с функцией long2ip. С данными из $_SERVEUR или строковой переменной все работает нормально, давая мне правильный 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 ответ

Сначала убедитесь, что error_reporting установлен в E_ALLerror_reporting(E_ALL);,

Как я подозреваю, вы получаете предупреждение.

Этот результат очень странный: 0.0.0.0. С неверными данными я получаю 0.0.0.1.

https://3v4l.org/X7GQm

Другие вопросы по тегам