Rolf B: Warning: fgetcsv(): supplied resource is not a valid stream resource

Beitrag lesen

Hallo Bernd,

wenn der erste Satz verarbeitet wird, fgetcsv da also noch gültig war, und dann beim nächsten Schleifenumlauf nicht mehr ist, kann es eigentlich nur eine Ursache geben.

Stelle mal alle zueinander gehörigen geschweiften Klammern sauber untereinander.

Finde das } zum { des while.

Es gibt gute Gründe, warum IDEs gerne vor zu tiefer Schachtelung warnen. Es könnte sinnvoll sein, alles ab Zeile 5 in eine Funktion auszulagern und das Fehlerhandling zu invertieren, d.h. jede Prüfung so zu formulieren, dass Du die Funktion mit return verlässt sobald ein Fehler auftaucht, der den Import verhindert.

Unabhängig davon: Es ist weder sinnvoll noch richtig, prepare und bind innerhalb der Schleife durchzuführen. Das macht man vorher; innerhalb der Schleife wird nur an die Variablen zugewiesen und execute aufgerufen. Mit bind werden Variablenreferenzen an das Statement geknüpft, das muss man nur einmal tun. Guckst Du in die PHP Referenz, das siehst Du das & in der Beschreibung.

bool mysqli_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )
                                                    -^-             -^-

Rolf

--
sumpsi - posui - clusi