Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

TXT->MySQL, nur letzter Datensatz wird eingefügt

Guten Abend.

Ich habe ein Problembeim einlesen einer TXT-Datei und anschliessendem Schreiben in die DB.
Es wird immer nur der letzte Datensatz der TXT-Datei in die DB geschrieben. Warum finde ich nicht heraus....
Kann mir hier jemand einen kleinen Hinweis geben?

Code:                   In Zwischenablage kopieren (nur IE)
1">

Vielen Dank im voraus.
Pat
Hier gehts zum Orginal Eintrag "TXT->MySQL, nur letzter Datensatz wird eingefügt" im Forum

Antworten

Was sagt [doc]mysql_error[/doc]?? Wie sehen die Daten aus?? Es könnte folgendes helfen:
Standard-Antwort:
Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An den Anfang des Scriptes schreibt man die Zeile: error_reporting(E_ALL);
4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
5. Schritt 4 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt.


2.

Hallo Gary

Erstmal Danke für Deine Antwort.
Einen Fehler erzeugt das Skript nicht.

Ich habe mittlerweile herausgefunden, dass der geschriebene Datensatz immer wieder überschrieben wird so erscheint am Schluss nur der letzte eingelesene Datensatz in der DB.
Es wird also nicht an der DB angehängt!

Leider bin ich nicht der Experte in Sachen PHP. Als solchen, denke ich, sollte es kein Problem sein mir hier einen
kleinen Tipp zu geben.

Danke
Pat


3.

Arbeite mit einer ID, die per auto_increment hochgezählt wird. Ansonsten kann man hier nur raten. Wie sieht dein Tabellenaufbau aus?


4.

Hallo Gary

Habe das auto_increment eingefügt, leider ohne Erfolg.

Hier mal ein Export der Tabelle:

Code:                   In Zwischenablage kopieren (nur IE)
2">

Hoffe dies hilft.

Danke
Pat


5.

Nicht wirklich. Lass dir mal während der Laufzeit alle Statements ausgeben und schau sie dir an. Zur Sicherheit solltest du übrigens auch die Felder im Statement ansprechen... Irgendwas scheint da schiefzugehen...


Hier gehts zum Orginal Eintrag "TXT->MySQL, nur letzter Datensatz wird eingefügt" im Forum
 
phpforum.de | Impressum