Daten aus der csv per php in mysql

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

  • Daten aus der csv per php in mysql

    Ich hab nun schon tagelang gelesen und probiert,

    habe ein Script gebastelt, das mir eine CSV-Datei per php in eine MySql-Datenbank eintragen soll. Die Datenbank ist vorhanden, die Tabelle auch, aber nix passiert, ich bekomme nicht mal eine Fehlermeldung.
    PHP-Code:
    <?
    $link = mysql_connect ("localhost", "", "") or die ("keine Verbindung möglich<br>");
    print ("Verbindung erfolgreich<br>");
    $result = mysql_list_tables("abrechnung");
    if (!$result) 
    {
        $res = mysql_create_db("abrechnung"); 
        if ($res) 
        {
           print ("<br>Datenbank erfolgreich angelegt\n");
        } 
        else 
        {
            printf ("Fehler beim Anlegen der Datenbank: %s\n", mysql_error ());
        }
    }
    else print ("<br>Datenbank schon vorhanden<br>");
    while ($row = mysql_fetch_row($result)) 
        {
            print "Tabelle: $row[0]<br>";
        }
    $rows = 1;                                  
    $fp = fopen ("beispiel.csv","r");             
    $tab = ("LOAD DATA LOCAL INFILE $fp INTO TABLE 'affilinet' FIELDS TERMINATED BY ';' ");
    if(!$tab)
    {
        print ("<br>ERROR");
    }
    else print ("<br>allet klar<br>");
    fclose ($fp);
        $fields = mysql_list_fields("abrechnung", "affilinet", $link);
        $columns = mysql_num_fields($fields);
        for ($i = 0; $i < $columns; $i++) 
        {
            echo mysql_field_name($fields, $i) . "\n";;
        }
        $results = mysql_query("SELECT * FROM affilinet", $link); 
        $num_rows = mysql_num_rows($results); 

        echo "$num_rows Rows\n";
    ?>
    auf dem Bildschirm erscheint folgende Meldung:

    Verbindung erfolgreich

    Datenbank schon vorhanden
    Tabelle: affilinet

    allet klar
    Datum Nummer Status SubPartnerID Programm Lead/Sale Netto Prov-Wert Auszahlung
    0 Rows

    Womit klar ist, dass nix in die Datenbank eingetragen wird.
    Kann mir jemand sagen, wo der Fehler liegt?

    Gruß Stoner

  • #2
    den teil solltest du dir mal anschauen:
    PHP-Code:
    $fp fopen ("beispiel.csv","r");             
    $tab = ("LOAD DATA LOCAL INFILE $fp INTO TABLE 'affilinet' FIELDS TERMINATED BY ';' "); 
    hier wird ein dateihandle einer string-variablen zugeordnet. und ... nichts. kann ja nix passieren. $tab muß u.a. ausgeführt werden... den rest solltest du allein herauskriegen.
    ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
    und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

    Kommentar


    • #3
      Hätte sonst gerade das zur Hand...

      PHP-Code:
      <?php
                
      // Definition der Datenbanken und csv-Dateien

                
      $db_MenuTitle[0]  = "Eintrag 1";         // Bezeichnung des Eintrags - erscheint im Dropdown
                
      $db_Hostname[0]   = "192.168.1.99";         // Datenbank-Host (muss nicht zwingend immer localhost sein)
                
      $db_UserName[0]   = "root";                  // Benutzername f&uuml;r diese Datenbank
                
      $db_Password[0]   = "";                  // Zugehoeriges Passwort
                
      $db_Database[0]   = "test";                  // Datenbank, auf die zugegriffen werden soll
                
      $db_Table[0]      = "auftraege";                  // Table, in den die CSV-Datei &uuml;bertragen werden soll
                
      $db_File[0]       =  "c:/programme/apache~1/apache/htdocs/imp/auftraege.txt";                  // Verzeichnispfad zur Textdatei (CSV etc.) auf dem Webserver
                
      $db_Terminated[0] = ";";                 // Trennzeichen, das in der Textdatei verwendet wird

                
      $select_db 0;
                if (isset (
      $select_db)) {

                  
      // Connect zur Datenbank
                  
      mysql_connect($db_Hostname[$select_db], $db_UserName[$select_db], $db_Password[$select_db]) || die("Can't Connect to Database: ".mysql_error());
                  
      mysql_select_db($db_Database[$select_db]);

                  
      // Bisherige Daten aus der Datenbank l&ouml;schen
                  
      $del "DELETE FROM ".$db_Table[$select_db];

                  
      // CSV-Datei in die Datenbank &uuml;bertragen
                  
      $sql "LOAD DATA INFILE '$db_File[$select_db]' REPLACE INTO TABLE ".$db_Table[$select_db]." FIELDS TERMINATED BY '$db_Terminated[$select_db]'";

                  
      // MySQL-Statements ausf&uuml;hren
                  
      if (mysql_query ($del) and mysql_query ($sql)) {
                      
      $message "&Uuml;bertragung erfolgreich";
                      }
                  else {
                      
      $message "&Uuml;bertragung fehlgeschlagen. Grund: "mysql_error ();
                      }
                 }
      exit();
      ?>
      _____________
      Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
      [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

      Kommentar


      • #4
        ja oder so

        @Secco
        ist
        PHP-Code:
        $select_db 0;
        if (isset (
        $select_db)) { 
        nicht irgendwie überflüssig?

        und
        PHP-Code:
        if (mysql_query ($del) and mysql_query ($sql)) { 
        nicht etwas gefährlich? Schließlich können theoretisch doch daten eingepflegt werden ohne die tabelle vorher zu löschen...
        ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
        und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

        Kommentar


        • #5
          @ muecke0815

          Stimmt... ist jedoch nur ein scriptlet aus unserem Intranet (!) wenn hier jemand müll baut, dann schlag ich ihm den kopf ab

          Sollte auch nur als Hilfe dastehn, nicht als fertiges script


          Mahlzeit
          _____________
          Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
          [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

          Kommentar


          • #6
            allet kloar. denke auch es sollte helfen den weg zu finden...
            ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
            und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

            Kommentar


            • #7
              DANKE,

              wow

              Kommentar


              • #8
                DANKE,

                wow
                alles paletti, manchmal ist das brett vorm kopp doch recht dick

                Kommentar


                • #9
                  Danach sagen das alle
                  _____________
                  Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
                  [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

                  Kommentar

                  Lädt...
                  X