B
ByeBye 284669
Ich habe das gerade mal mit einer Datei mit 500 Einträgen ausprobiert, geht ruckzuck:
PHP:
<?php
$fn = "ein_datei_name.txt";
if (file_exists($fn))
{
$db = mysqli_connect("localhost", "root", "", "postleitzahlen");
mysqli_set_charset($db, "utf8");
$query = "INSERT INTO `data` (`fileid`, `name`, `gemeinde`, `plz`, `centr_lon`, `centr_lat`)
VALUES (%d,'%s','%s','%s', %2.7f, %2.7f)";
$content = file_get_contents($fn);
$content = json_decode($content,true);
$queries = array();
foreach ($content as $entry)
{
$fileid = mysqli_real_escape_string($db, $entry['id']);
$name = mysqli_real_escape_string($db, $entry['name']);
$gemeinde = mysqli_real_escape_string($db, $entry['gemeinde']);
$plz = mysqli_real_escape_string($db, $entry['plz']);
$centr_lon = mysqli_real_escape_string($db, $entry['centr_lon']);
$centr_lat = mysqli_real_escape_string($db, $entry['centr_lat']);
$queries[] = sprintf($query, $fileid, $name, $gemeinde, $plz, $centr_lon, $centr_lat);
}
if (mysqli_multi_query($db, implode(";", $queries)))
$output = "$fn erfolgreich importiert\n";
else
$output = "$fn *** IMPORT-FEHLER ***\n";
}
else
$output = "$fn *** FEHLER DATEI NICHT VORHANDEN ***\n";
$fp = fopen("import.log", "a+");
fputs($fp, $output);
fclose($fp);
?>