Ankündigung

Einklappen
Keine Ankündigung bisher.

CSV importieren nicht möglich

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CSV importieren nicht möglich

    Hallo,

    hab das Problem, dass ich keine CSV-Datei importieren kann.
    Es kommt immer der Fehler "Ungültige Anzahl an Feldern in Zeile 1.".

    Ich hab ein paar Screenshots angehängt. Die erste Spalte "ID" wird ja eigentlich von der Datenbank selbst vergeben. Aber auch wenn ich diese Spalte in der CSV weglassen, erhalte ich obige Fehlermeldung.

    Vielleicht könnt ihr mir ja helfen...

    gruß,
    christian
    Angehängte Dateien

  • #2
    Habs jetzt mit Notepad gespeichert und es hat geklappt. Scheinbar hat Excel das etwas anders abgespeichert...

    Kommentar


    • #3
      Dafür hab ich aber immer noch mein anderes Problem, das importieren über die PHP.

      hier der Code:
      Code:
      <html>
      <head>
      </head>
      <body id="main">
      
      <?php
          // Inlcude der Datei dbconnect.php    
          include("dbconnect.php");
      
          // Bisherige Daten aus der Datenbank l&ouml;schen
          $del = "DELETE FROM dokumentation";
      			
      	$import = ("LOAD DATA INFILE 'http://localhost/telefondoku/import/daten.csv' INTO TABLE dokumentation
      	FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'");
      	
      	
      	// MySQL-Statements ausf&uuml;hren
          if (mysql_query ($del) and mysql_query ($import)) {
             $message = "&Uuml;bertragung erfolgreich";
              }
              else {
                  $message = "&Uuml;bertragung fehlgeschlagen. Grund: ". mysql_error ();
                   }
      ?>
      
      
      </body>
      </html>
      Der Import der CSV über PHPMyAdmin funktioniert.
      Sieht dann so aus:

      Code:
      INSERT INTO `dokumentation`
      VALUES (
      '', '97', '98', '99', '13200', '002v222', 'Bucht2 Block3', 'keine'
      )

      Kommentar


      • #4
        Vielleicht solltest du dir mal die Fehlermeldung anschauen... LOAD DATA INFILE kann mit http recht wenig anfangen.

        Kommentar


        • #5
          ok ist geändert auf "/import/daten.csv", klappt aber nach wie vor nicht.

          Kommentar


          • #6
            Zitat von spiderchristian Beitrag anzeigen
            Code:
            	
                // MySQL-Statements ausf&uuml;hren
                if (mysql_query ($del) and mysql_query ($import)) {
                   $message = "&Uuml;bertragung erfolgreich";
                    }
            Bist Du sicher, dass mysql_query($del) vor dem mysql_query($import) ausgeführt wird? Ich würde dies in zwei Befehle auftrennen. 1. Delete 2. Import

            Wie lautet eigenlich die MySQL-Fehlermeldung?

            Grüße
            Thomas

            Kommentar


            • #7
              Eigentlich schon. Es wäre aber sicher sinnvoll, eventuelle Fehlersituationen der Queries einzeln abzufangen.
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar


              • #8
                bekomm jetzt folgende Fehlermeldung:
                File 'C:\xampp\xampplite\mysql\data\telefondoku\importd aten.csv' not found

                Er macht mir den Slash zwischen Import und Daten nicht rein obwohl bei mir steht:
                PHP-Code:
                $import = ("LOAD DATA INFILE '\import\daten.csv' INTO TABLE dokumentation FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'"); 

                Kommentar


                • #9
                  Zitat von spiderchristian Beitrag anzeigen
                  PHP-Code:
                  $import = ("LOAD DATA INFILE '\import\daten.csv' INTO TABLE dokumentation FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'"); 
                  Dann mach doch mal aus dem Backslash ein Slash. Also in etwa so. Der Backslash wird vielleicht falsch interpretiert.

                  PHP-Code:
                  $import = ("LOAD DATA INFILE '/import/daten.csv' INTO TABLE dokumentation FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'"); 
                  Weitere Tipps hier: Datenbanken: MySQL - Wie kann ich eine CSV-Datei in MySQL importieren?

                  Grüße
                  Thomas

                  Kommentar


                  • #10
                    Hab ich auch probiert mit Backslash aber da greift er auf einen falschen Pfad zu.

                    Habs jetzt so gelöst, dass ich den kompletten Pfad angegeben hab, gefällt mir zwar nicht sooo gut aber hauptsache es funktioniert.

                    Kommentar

                    Lädt...
                    X