Ankündigung

Einklappen
Keine Ankündigung bisher.

csv datei über php in mysql import

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

  • csv datei über php in mysql import

    Hallo,

    will eine Datei über php in mysql Datenbank importieren.

    Er importiert allerdings nicht? Kann mir jemand helfen?!

    PHP-Code:
    <?
    include('../inc/mysql.inc.php');
    $db = mysql_connect($sql['host'],$sql['uid'],$sql['psw']);
    mysql_select_db($sql['db'], $db);

    // Systemeinstellungen
    $database = "amdin";
    $table = "vermittler_neu";
    $datei = "testds.csv";
    // Einstellungen Ende

    if(!$table || !$datei) die("Die Quelle oder das Ziel sind unbekannt");

    // ermitteln Namen und Menge der Spalten
    $result = mysql_list_fields($database,$table);
    for($i=0;$i<mysql_num_fields($result);$i++) {
    $spalten .= mysql_field_name($result,$i).",";
    }
    $anzahl = mysql_num_fields($result);
    $spalten = trim(substr($spalten,0,-1));

    // leert die Tabelle
    mysql_query("DELETE FROM $table") or die(mysql_error());

    // liest die Datei ab und überträgt sie zeilenweise in die Tabelle
    $fp = fopen($datei,"r"); unset($i);
    while(!feof($fp)) {
    $zeile = fgets($fp,1024);
    if(!$start) { if(count(explode(",",$zeile))!=$anzahl)
    die ("Menge der Daten entspricht nicht der Anzahl der Spaltenanzahl"); }
    echo $i++."<br>";
    $zeile = "'".str_replace(",","','",strstr($zeile,","))."'";
    mysql_query("INSERT INTO $table ($spalten) VALUES ($zeile)");
    $start=true;
    }
    fclose($fp);

    echo "Import erfolgreich abgeschlossen.<p></p>";

    ?>


  • #2
    Hi.

    Du solltest lieber mit PHP: fgetcsv - Manual arbeiten und dir dann in der Schleife einen Insert Befehl zusammenbauen!

    Artikel dazu:

    PHP-Script CSV-To-MySQL - STADTAUS.com
    CSV Datei Import in eine MYSQL Datenbank über PHP - PHP @ tutorials.de: Forum & Hilfe

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar

    Lädt...
    X