Rayn: .CSV Datei in MySQL Tabelle importieren

Hallo Zusammen,

Folgendes:

Ich habe eine Excel Tabelle im .csv Format vorliegen.
Getrennt durch ;

Jetzt will ich diese Datei ( einladungsliste.csv ) in meine bereits bestehende Tabelle ( einladung ) importieren ( insert & update ).

Es gibt wohl verschiedene Möglichkeiten , allerdings hat bisher keine bei mir funktioniert.

Vielen Dank im Voraus

Rayn

  1. Schön, das du es uns erzählst. Hast du auch eine Frage zum Thema oder wolltest du uns nur mit einer kleinen Geschichte erheitern?

  2. Hallo

    Jetzt will ich diese Datei ( einladungsliste.csv ) in meine bereits bestehende Tabelle ( einladung ) importieren ( insert & update ).

    hört sich ja nicht übermäßig schwierig an.

    Es gibt wohl verschiedene Möglichkeiten , allerdings hat bisher keine bei mir funktioniert.

    Und was hast Du bisher versucht, woran bist Du gescheitert?
    "Funktioniert nicht" ist keine Fehlerbeschreibung.

    Freundliche Grüße

    Vinzenz

  3. Hallo Zusammen,

    Folgendes:

    Ich habe eine Excel Tabelle im .csv Format vorliegen.
    Getrennt durch ;

    Jetzt will ich diese Datei ( einladungsliste.csv ) in meine bereits bestehende Tabelle ( einladung ) importieren ( insert & update ).

    Es gibt wohl verschiedene Möglichkeiten , allerdings hat bisher keine bei mir funktioniert.

    Vielen Dank im Voraus

    Rayn

    back @ Topic please !!

    Ich denke mal das die beschriebung ausreichend ist um von euch vll den richtigen Gedankenanstoß zu bekommen !!

    Mfg

    Rayn

    1. Hallo,

      Ich denke mal das die beschriebung ausreichend ist

      wo ist eine Beschreibung? Ich habe keine gesehen.

      um von euch vll den richtigen Gedankenanstoß zu bekommen !!

      Wie denn, ich habe keine Glaskugel, mit der ich herausfinden könnte, was Du versucht hast und welche Fehlermeldungen Du erhalten hast.

      Wenn Du Hilfe haben willst, dann erläutere bitte Dein Problem.

      Freundliche Grüße

      Vinzenz

      1. Das war mein letzter Versuch:

        <?php

        $db_MenuTitle[0]  = "Eintrag 1";
                  $db_Hostname[0]   = "mysql4.meine-domain.de";
                  $db_UserName[0]   = "Mein Username";
                  $db_Password[0]   = "Mein Passwort";
                  $db_Database[0]   = "Mein Datenbanksname";
                  $db_Table[0]      = "Mein Tabellenname";
                  $db_File[0]       = "texttest.csv";
                  $db_Terminated[0] = ";";

        if (isset ($select_db)) {

        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]);

        $del = "DELETE FROM ".$db_Table[$select_db];

        $sql = "LOAD DATA INFILE '$db_File[$select_db]' REPLACE INTO TABLE ".$db_Table[$select_db]." FIELDS TERMINATED BY '$db_Terminated[$select_db]'";

        if (mysql_query ($del) and mysql_query ($sql)) {
                        $message = "&Uuml;bertragung erfolgreich";
                        }
                    else {
                        $message = "&Uuml;bertragung fehlgeschlagen. Grund: ". mysql_error ();
                        }

        }

        function generate_dropdown () {

        global $db_MenuTitle, $db_Hostname, $db_UserName, $db_Password, $db_Table, $db_File, $db_Terminated;

        if (is_array ($db_MenuTitle)) {

        reset ($db_MenuTitle);

        while (list ($key, $val) = each ($db_MenuTitle)) {
                          echo "<option value="".$key."">".$val."</option>";
                          }

        }

        }

        ?>

        <html>
          <head>
            <title>CSV to SQL</title>
          </head>
          <body bgcolor="#EAEAEA">
            <form action="<?php echo $PHP_SELF; ?>" method="POST">
              <table border="0" cellspacing="0" cellpadding="5" bgcolor="#C0C0C0" width="50%">
                <tr>
                  <th>CSV to MySQL</th>
                  <th>&nbsp;</th>
                </tr>
                <tr valign="bottom">
                  <td>
                    <select name="select_db" size="<?php echo count ($db_MenuTitle); ?>">
                      <?php generate_dropdown (); ?>
                    </select>
                  </td>
                  <td>
                    <input type="Submit" name="submit" value="Und los!">
                  </td>
                </tr>
              </table>
            </form>
            <p><?php echo $message; ?></p>
          </body>
        </html>

        Folgende Fehlermeldung:

        Übertragung fehlgeschlagen. Grund: Access denied for user 'Mein Datenbanksname'@'127.0.0.2' (using password: YES)

        Aber die Daten sind richtig und sie funktioniern menütlich aufs neue ... wo ist also der Fehler ??

        Rayn

        1. Hallo

          if (isset ($select_db)) {

          Du verläßt Dich tatsächlich noch auf register_globals = on.
          Das ist eine sehr schlechte Idee.

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

          was laut Fehlermeldung schief geht. Zu möglichen Ursachen siehe MySQL-Handbuch, 5.8.8. Gründe für Access denied-Fehler. die() ist übrigens _keine_ vernünftige Fehlerbehandlung.

          $del = "DELETE FROM ".$db_Table[$select_db];

          Folgende Fehlermeldung:

          Übertragung fehlgeschlagen. Grund: Access denied for user 'Mein Datenbanksname'@'127.0.0.2' (using password: YES)

          Aber die Daten sind richtig und sie funktioniern menütlich aufs neue ... wo ist also der Fehler ??

          hmm, ich würde sagen, Du verwendest andere Zugangsdaten als Du denkst.

          Freundliche Grüße

          Vinzenz

          1. Hallo

            if (isset ($select_db)) {

            Du verläßt Dich tatsächlich noch auf register_globals = on.
            Das ist eine sehr schlechte Idee.

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

            was laut Fehlermeldung schief geht. Zu möglichen Ursachen siehe MySQL-Handbuch, 5.8.8. Gründe für Access denied-Fehler. die() ist übrigens _keine_ vernünftige Fehlerbehandlung.

            $del = "DELETE FROM ".$db_Table[$select_db];

            Folgende Fehlermeldung:

            Übertragung fehlgeschlagen. Grund: Access denied for user 'Mein Datenbanksname'@'127.0.0.2' (using password: YES)

            Aber die Daten sind richtig und sie funktioniern menütlich aufs neue ... wo ist also der Fehler ??

            hmm, ich würde sagen, Du verwendest andere Zugangsdaten als Du denkst.

            Freundliche Grüße

            Vinzenz

            Mit den gleichen Zugangsdaten arbeite ich die ganze Zeit , daran kann es wirklich nicht liegen ...

            1. Moin Moin!

              Übertragung fehlgeschlagen. Grund: Access denied for user 'Mein Datenbanksname'@'127.0.0.2' (using password: YES)

              Aber die Daten sind richtig und sie funktioniern menütlich aufs neue ... wo ist also der Fehler ??

              hmm, ich würde sagen, Du verwendest andere Zugangsdaten als Du denkst.

              Mit den gleichen Zugangsdaten arbeite ich die ganze Zeit , daran kann es wirklich nicht liegen ...

              Da hat Deine Datenbank definitiv eine andere Meinung als Du. Die sagt ganz klar "DU KOMMST HIER NICHT REIN." Außer Benutzername und Password kann die DB u.a. auch noch die IP-Adresse des Clients oder Zertifikate prüfen, oder Kominationen davon.

              Warum benutzt Du 127.0.0.2 und nicht 127.0.0.1?

              Alexander

              --
              Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
              1. Moin Moin!

                Übertragung fehlgeschlagen. Grund: Access denied for user 'Mein Datenbanksname'@'127.0.0.2' (using password: YES)

                Aber die Daten sind richtig und sie funktioniern menütlich aufs neue ... wo ist also der Fehler ??

                hmm, ich würde sagen, Du verwendest andere Zugangsdaten als Du denkst.

                Mit den gleichen Zugangsdaten arbeite ich die ganze Zeit , daran kann es wirklich nicht liegen ...

                Da hat Deine Datenbank definitiv eine andere Meinung als Du. Die sagt ganz klar "DU KOMMST HIER NICHT REIN." Außer Benutzername und Password kann die DB u.a. auch noch die IP-Adresse des Clients oder Zertifikate prüfen, oder Kominationen davon.

                Warum benutzt Du 127.0.0.2 und nicht 127.0.0.1?

                Alexander

                Bei falschen ANgaben , habe ich einen Syntax Fehler bekommen , bei richtigen angaben nur die Fehlermeldung die ich selbst eingegeben habe.
                Ich muss ...2 Benutzen weil dort meine DB liegt, ...1 ist eine andere DB.

                Hat noch jemand eine Idee warum es nicht geht ?

                1. Ich muss ...2 Benutzen weil dort meine DB liegt, ...1 ist eine andere DB.

                  Was die IP-Adresse 127.0.0.1 bedeutet, weisst du aber?
                  Im anderen Thread redest du davon, du wärst Programmierer. Ich hab immer mehr den Eindruck, du bist ein Kiddie, dem jegliche Grundlage zum Thema fehlt.

                  1. Ich muss ...2 Benutzen weil dort meine DB liegt, ...1 ist eine andere DB.

                    Was die IP-Adresse 127.0.0.1 bedeutet, weisst du aber?
                    Im anderen Thread redest du davon, du wärst Programmierer. Ich hab immer mehr den Eindruck, du bist ein Kiddie, dem jegliche Grundlage zum Thema fehlt.

                    1 = Host,

                    2 = DB

                    ???

                    1. http://de.wikipedia.org/wiki/127.0.0.1

                      Ich weiss, ist schwer zu finden für einen "Programmierer" wie dich. Du solltest dir was anderes suchen, denn IMO bist du in einem Bereich, der Recherche verlangt, völlig falsch. Schonmal an ne Lehre als Bäcker gedacht?

                      1. Hallöle!

                        [...] Schonmal an ne Lehre als Bäcker gedacht?

                        Für einen, der so sensibel auf Kritik reagiert, kannst du aber ganz ordentlich austeilen.

                        File Griese,

                        Stonie

                        --
                        It's no good you trying to sit on the fence
                        And hope that the trouble will pass
                        'Cause sitting on fences can make you a pain in the ass.
                        Und im Übrigen kennt auch Stonie Wayne.
    2. Hellihello

      Ich denke mal das die beschriebung ausreichend ist um von euch vll den richtigen Gedankenanstoß zu bekommen !!

      Jau: du musst deine Hand schon der helfenden entgegenstrecken, das hast du bereits zweimal gesagt bekommen. Jetzt zum dritten mal. Warum sagst Du denn blos nicht, was Du schon unternommen hast? Vinzenz hat Dir doch schon gesagt, dass das ggf. recht unkompliziert zu lösen ist, wenn Du die Rahmenbedingungen abklärst.

      Wenn du lediglich festhalten willst, dass du schon alles korrekt gemacht hast, dann bleibts wohl dabei.

      Als Denkanstoß noch: lies doch einfach die csv per PHPs fgetcsv() ein und schreib sie dann in die Datenbank mit PHPs mysql Funktionen.

      Dank und Gruß,

      frankx

      --
      tryin to multitain  - Globus = Planet != Welt