max
Erfahrenes Mitglied
Ich habe ein sehr große CSV Datei (ca. 1,5 Mio Zeilen), diese will ich in eine Tabelle meiner MySQL Datenbank eintragen.
Script zum eintragen:
Die CSV ist so aufgebaut
Das problem ist er trägt mir einfach nicht alle IP Bereiche in die Datenbank ein.
zZ. sind es max. 730.000 von 1,5 Mio.
An was kann das liegen?
Script zum eintragen:
PHP:
<?
ini_set('memory_limit', '100M');
$link = mysql_connect("localhost", "user", "pass") or die("Could not connect: ".mysql_error());
$db = mysql_select_db("usr_site89_5") or die(mysql_error());
$row = 1;
$handle = fopen ("country.csv","r");
while ($data = fgetcsv ($handle, 1000, ",")) {
//ID der Region holen
$RegionSQL = "SELECT id FROM location_regionen WHERE region='".mysql_escape_string($data[4])."'";
$RegionQuery = mysql_query($RegionSQL);
$Region = mysql_fetch_array($RegionQuery);
//ID des Staates holen
$StaatSQL = "SELECT id FROM location_staaten WHERE country_code='".mysql_escape_string($data[2])."'";
$StaatQuery = mysql_query($StaatSQL);
$Staat = mysql_fetch_array($StaatQuery);
// IP Bereich Eintragen
$ipSQL = "INSERT INTO `location_ip_range` ( `r_id` , `s_id` , `ip_start` , `ip_ende` )
VALUES (
'".$Region['id']."', '".$Staat['id']."', '".$data[0]."', '".$data[1]."'
);";
$ipQuery = mysql_query($ipSQL);
}
fclose ($handle);
?>
Die CSV ist so aufgebaut
Code:
IP_From, IP_To, Country Code, Country Name, Region, City
"201653760","201654015","US","UNITED STATES","VIRGINIA","GORDONSVILLE"
"201654016","201654143","US","UNITED STATES","VIRGINIA","LYNCHBURG"
"201654144","201654159","US","UNITED STATES","VIRGINIA","RICHMOND"
Das problem ist er trägt mir einfach nicht alle IP Bereiche in die Datenbank ein.
zZ. sind es max. 730.000 von 1,5 Mio.
An was kann das liegen?