Hi,
möchte eine csv-Datei die auf dem Server liegt per Script in eine MySQL einlesen. Dies klappt eigentlich auch, jedoch nur für die ersten zehn Felder. Für alle nachfolgenden wird ein Fehler ausgegeben.
Notice: Undefined index: 11
Notice: Undefined index: 12
....
Hier mein Script:
(Das Feld `id` ist auto_increment, deshalb habe ich die Spalte beim Einlesen ohne Wert gelassen.)
Warum werden nur die ersten zehn und nicht alle Felder importiert?
mfg
Julia
möchte eine csv-Datei die auf dem Server liegt per Script in eine MySQL einlesen. Dies klappt eigentlich auch, jedoch nur für die ersten zehn Felder. Für alle nachfolgenden wird ein Fehler ausgegeben.
Notice: Undefined index: 11
Notice: Undefined index: 12
....
Hier mein Script:
(Das Feld `id` ist auto_increment, deshalb habe ich die Spalte beim Einlesen ohne Wert gelassen.)
PHP:
<?php
# CSV-Import direkt auf dem Server
error_reporting(E_ALL);
//Verbindung mit der Datenbank aufbauen
$Link=mysql_connect("localhost","xxx","xxx") or die (mysql_error());
mysql_select_db("usr_webxx_1");
$table = "table_1";
#}
$temppath= "http://www.meine_domain.de/datei_1.csv";
//Tempdatei öffnen
$fp = @fopen($temppath, "r") or die ("Kann Datei nicht lesen.");
//Zeilen auslesen und in der Datenbank speichern
$handle = fopen($temppath,"r");
while ( ($x= fgetcsv ($handle, 22, ';') ) !== FALSE ) {
/** Sonderzeichen strippen **/
foreach($x as $i => $s) {
$x[$i]=str_replace("'","\"",$s);
}
//Testausdruck
#echo "m0= $m[0]<br>";
#echo "m1= $m[1]<br>";
#echo "m2= $m[2]<br>";
mysql_query("INSERT INTO `table_1` ( `id`, `feld0`,
`feld01`, `feld02`, `feld03`, `feld04`, `feld05`,
`feld06`, `feld07`, `feld08`, `feld09`, `feld10`,
`feld11`, `feld12`, `feld13`, `feld14`, `feld15`,
`feld16`, `feld17`, `feld18`, `feld19`, `feld20`
)
VALUES ('', '$x[0]',
'$x[1]', '$x[2]', '$x[3]', '$x[4]', '$x[5]',
'$x[6]', '$x[7]', '$x[8]', '$x[9]', '$x[10]',
'$x[11]', '$x[12]', '$x[13]', '$x[14]', '$x[15]',
'$x[16]', '$x[17]', '$x[18]', '$x[19]', '$x[20]'
)")
OR die("Konnte Datensatz nicht speichern.<br>Fehlermeldung: ".mysql_error());
}
?>
Warum werden nur die ersten zehn und nicht alle Felder importiert?
mfg
Julia