Daten aus .xls in MySQL-Datenbank

Denselben Fehler bekomme ich auch. Die einzelnen Isolierungen von Zeile 48 und Datensatz #48 bringen im Gegensatz dazu aber keine Fehler.
 
Mh, was kann ich da jetzt noch machen?
Mit der CSV-Datei, in der nur 10 Einträge waren, war der Code ja mit dabei, da gab es seltsamerweise keine Probleme.
 
Es gibt zwei Probleme:

1. Manchmal sind es nicht 9 Spalten, sondern weniger. Hauptursache dafür ist, dass "http://;;" fehlt.

2. PHP interpretiert Zeilenenden falsch. Ich weiß allerdings nicht, ob dies auch bei PHPMyAdmin Fehler verursachen wird.

Ich schau mir das gerade näher an.
 
Also ich habe in der Zwischenzeit in alle leeren Felder bei Homepage ein http:// eingefügt, das wieder als CSV gespeichert, in Notepad++ abgeändert und in PHPmyAdmin importiert, es bleibt leider bei der gleichen Fehlermeldung mit der Zeile 22.
 
1. Tabelle leeren.
2. Bitte die SQL-Dateien im Anhang der Reihenfolge nach importieren.
3. Fertig.

Ich hab was gut bei dir :P


PS: Für die Programmierer: Ein eigenes PHP-Skript lädt die CSV-Daten mittels preg_split() und str_get_csv(), prüft auf Fehler, lässt Verbesserungen manuell eingeben und exportiert schließlich alles in eine SQL-Datei.
 

Anhänge

Dies habe ich schon im obigen Beitrag erwähnt gehabt ;)
Es gibt zwei Probleme:

1. Manchmal sind es nicht 9 Spalten, sondern weniger. Hauptursache dafür ist, dass "http://;;" fehlt.

2. PHP interpretiert Zeilenenden falsch. Ich weiß allerdings nicht, ob dies auch bei PHPMyAdmin Fehler verursachen wird.
Punkt 1 ist an sich selbsterklärend. Dies konnte man nur beheben, indem man manuell die Einträge durchgeht. Ich bin dabei 41 Einträge durchgegegangen und habe die Spaltenanzahl händisch behoben (durch Einsetzen von ;http://;;).

Bei Punkt 2 ist zu sagen, dass PHP manche Zeilen nicht so interpretiert hat, wie sie sinnvoll zu interpretieren wären. Hier waren die Neuzeilen mitunter ein großes Problem. Da dies zumindest ein Problem in meinem Skript war, habe ich mich dazu entschieden, eine SQL-Datei statt einer CSV-Datei auszugeben. Übrigens gibt es kein standardisiertes CSV-Format, rein deswegen ist es nicht unbedingt ratsam, CSV als Import- oder Exportformat zu wählen, sofern man bessere Optionen hat.

Vielleicht magst du noch die Datums- und Zeitangaben von den letzten Einträgen ausgehend überprüfen. Mir ist aufgefallen, dass diese oft im gleichen Montag und am gleichen Tag sind. Ich denke mal, dass das durch den Jahrestag des traurigen Ereignisses bedingt ist. Trotzdem möchtest du möglicherweise sichergehen, ob die Konvertierung von den Datums- und Zeitangaben wirklich (durchgehend) geklappt hat.
 
So, also mit den Einträgen hat jetzt, dank deiner Hilfe, alles geklappt, auch die Datumangaben scheinen alle richtig zu sein. :)
Jetzt komme ich nochmal zu dem, was du noch geschrieben hattest:

PS: Ich habe für dich leider eine erneute Hiobsbotschaft bzgl. deines Gästebuchskripts: Es nutzt die alte MySQL-Erweiterung, die in naher Zukunft von PHP entfernt wird. Konkret heißt das: In fünf Jahren (und das ist schon überschätzt) mag dein Skript wahrscheinlich gar nicht mehr auf deinem Server funktionieren, sofern dein Hoster PHP aktualisiert.

Was für eine MySQL-Erweiterung ist das denn? Kann man das nicht aktualisieren?
 
Um es vielleicht ein bisschen normaler auszudrücken:

Es gibt seit langer Zeit eine Erweiterung namens MySQL für PHP, welche Funktionen für MySQL-Datenbaken bereitstellt. All jene Funktionen beginnen mit dem Präfix "mysql_...". Die neue Erweiterung heißt im Gegensatz dazu "MySQLi" ("i" für improved) und stellt Funktionen à la "mysqli_..." zur Verfügung. Der Punkt ist nun, dass die alte MySQL-Erweiterung als veraltet gekennzeichnet ist und bald aus PHP entfernt wird. Man müsste in der Tat den Code manuell editieren, um ihn auf die neue Erweiterung umzustellen.

@alxy Da frage ich mich langsam, ob es wirklich kein gescheites, aktuelles und modernes Gästebuchskript in den großen Weiten des Internets gibt.
 
Zurück