Tom: PHP Script bricht beim schreiben in die Datenbank ab

Beitrag lesen

Hello,

Die Daten lese ich in einer PHP-Schleife mit

while ( ($_data = fgetcsv ($handle, 1000, ';')) !== FALSE )  ## Einen Satz als Array holen
  {                                             #  ^ #
    ## gib uns bitte auch noch den Rest

}

Aber daran dürfte es nicht liegen. Denn das Script bricht genau beim Zugriff auf die MySQL Datenbank ab. Das habe ich durch einige  Ausgaben mit echo "Zeile..." herausgefunden.

Im Prinzip sollte immer ein Array kommen. Aber ich würde nicht die Lesbarkeit der Zeile in CSV-Formatierung als Kriterium nehmen für die Schleife, sondern ein feof().

Die Lesbarkeit ist dann nur dafür zuständig, ob der Satz ins Töpfchen oder ins Kröpfchen kommt ;-)

Ist die CSV-Datei in Ordnung? Könnte sie z.B. genau beim bezeichnten Datensatz eine Spalte zu wenig oder zuviel haben, oder Sonderzeichen enthalten?

Wenn sie mit Separator, Delimiter und Delimiter-Doubling erstellt wurde, also in der Form

"Feld1";"Feld2 enthält ein "" Häkchen";"es dürfen auch
   Umbrüche in einem mit Delimiters (Enclosures) umschlossenen
   Feld enthalten sein"

dann sollte es für die PHP-Funktion fget_csv() beio richtiger Angabe dieser Zeichen in den Funktionsargumenten keine Probleme geben.

Beim insert in die DB muss dann natürlich auch passend escaped werden vorher.

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)