DanielE: CSV -> Array -> SQL

Beitrag lesen

Hallo,

ich lese mit fgetcsv eine CSV Datei in ein Array und schreibe dieses anschließend in eine SQL db. Meine CSV Datei hat 7 Spalten (0 - 7). Was ich nicht navollziehen kann ist, wenn ich im SQL nur die ersten 3 Spalten übergebe klappt das Script wunderbar. Nehme ich alle 7 Spalten bekomme ich einen Undefined offset. In meiner CSV sind nicht alle Zeilen über alle Spalten gefüllt. Es gibt leere Zellen, auch in den ersten Spalten die immer korrekt ausgeführt werden.

Warum schmeißt mein Schript einen Fehler wenn ich das Array um die ganze Länge meiner CSV ergänze? Hängt es damit zusammen das in den Spalten  4-7 fast alle Zellen leer sind? Ich kann mir das nicht erklären.

Hier das Script wie es im Moment aussieht mit dem Array bis Spalte 4.

----------------------------------------------------------

$handle = fopen ("uploads/haendler_deutschland.csv","r");
 while ($data = fgetcsv ($handle, 1000, ";"))
 {
 $query = "INSERT INTO brd(id, name, strasse, plz) VALUES('', '".$data[1]."', '".$data[2]."', '".$data[3]."')";
    $result = mysql_query($query) or die("Invalid query: " . mysql_error().__LINE__.__FILE__);
    $row++;
 }
 fclose ($handle);

--------------------------------------------------------

Bin dankbar für jeden Tipp,
Daniel