У меня есть база данных диапазонов IP, и я использую следующий код, чтобы разделить диапазон на отдельные IP-адреса. Это отлично работает, пока я не доберусь до 210937 записей, тогда код перестанет вращаться по диапазону IP и начнет вставлять 0.0.0.0.Разбиение диапазона IP-адресов, IP-адреса останавливаются после 210937 записей
Я попытался удалить некоторые IP-адреса, но он все равно останавливается в одной точке, даже если IP-адрес отличается.
for ($ip = ip2long($ip1); $ip<=ip2long($ip2); $ip++)
{
$lip = long2ip($ip);
Любые предложения будут оценены.
Итак, вот полный код минус соединение db.
$query1 = "SELECT * FROM masteriplist";
$result = mysql_query($query1);
while($row = mysql_fetch_array($result))
{
$ipe = $row['ip_end_range'];
$ips = $row['ip_start_range'];
$ip1 = "$ips";
$ip2 = "$ipe";
for ($ip = ip2long($ip1); $ip<=ip2long($ip2); $ip++)
{
$lip = long2ip($ip);
mysql_query("INSERT INTO ip_master (ip) VALUES ('$lip')")
or die(mysql_error());
}
}
ОК код отладки вернулся следующий
array(24) {
["id"]=> string(2) "50"
["ip_address"]=> string(12) "85.119.25.27"
["ip_start_range"]=> string(0) ""
["ip_end_range"]=> string(0) ""
...
}
@class Если бы это было так, это Wouldn После этого ничего не вставляйте. –
Привет Я принимаю IP-адреса из начала и конца таблицы, каждый из которых содержит один IP-адрес, код такой. $ ipe = $ row ['ip_end_range']; $ ips = $ row ['ip_start_range']; $ ip1 = "$ ips"; $ ip2 = "$ ipe"; – user1691024
Да после того, как он перестает вставлять его, он переносится на тысячи записей, но просто вставляет 0.0.0.0.0 – user1691024