ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
560
560
EMPFEHLEN
-
Hallo,
ich möchte eine CSV - Datei auf eine MYSQL-Datenbank importieren.
DIE CSV sieht so aus:
Code :1 2 3
program_id;program_name;product_id;product_name 3943;program1;49684;product1 3943;program1;66494;product2
HIerzu mein PHP-CODE:
Wenn ich diese php ausführe kommt keine Fehlermeldung, aber die Tabelle bleibt auch leer, obwohl ich die Tabelle mit Ihren Spalten schon erstellt habe.PHP-Code:<?php
$server = 'localhost';
$user = 'root';
$passwort = '';
$database = 'testdb';
$file = 'test.csv';
mysql_connect($server, $user, $passwort) or die ("Keine Verbindung möglich");
mysql_select_db($database) or die ("Die Datenbank existiert nicht");
$sql = "LOAD DATA LOCAL INFILE '$file' INTO TABLE datenfeed FIELDS TERMINATED BY '\,' ENCLOSED BY '\"' LINES TERMINATED BY '\n';";
$ergebnis = mysql_query($sql);
?>
Momentan probiere ich es noch mit phpmyadmin, aber ich möchte es mittels php den upload realisieren und nicht mit der Importfunktion von phpmyadmin.
Hoffe Ihr habt eine Idee.
Gruß, Patrick
-
Moin,
mysql_query() erzeugt von sich aus keine Fehlerausgabe.
Um einen eventuellen Fehler zu ermitteln, benutze im Anschluss an mysql_query() ->
echo mysql_error();
-
HAb es erstmal soweit hinbekommen
Danke an Sven Mintel
Hier der Code
Nur jetzt hab ich noch folgende Probleme. Wenn ich die 1. Zeile bei der CSV lasse, dann speichert die PHP die csv in einer Zeile in die Datenbank, so das die Werte nicht zu den Spalten passen. Wenn ich die 1. Zeile aber von mir aus lösche, dann stimmen die Werte, aber bei einer Spalte, wo der Wert immer gleich ist, wird der Wert der 1. Zeile angezeigt, die restlichen Werte in der Spalte werden auf Null gesetzt.PHP-Code:<?php
$server = 'localhost';
$user = 'root';
$passwort = '';
$database = 'testdb';
$file = 'C:/xampp/htdocs/test.csv';
$verbindung = mysql_connect($server, $user, $passwort) or die ("Keine Verbindung möglich");
if($verbindung){
mysql_select_db($database) or die ("Die Datenbank existiert nicht");
$sql = "LOAD DATA LOCAL INFILE '$file'
INTO TABLE datenfeed
FIELDS TERMINATED BY ';'
ENCLOSED BY ''
LINES TERMINATED BY ';' ";
echo mysql_error();
if($sql){
$ergebnis = mysql_query($sql);
echo mysql_error();
}
}
?>
-
wenn ich dich richtig verstehe dürfte folgendes helfen:
LINES TERMINATED BY '\n'
IGNORE 1 LINES ()
oder \r\n bei windows dateien, mit IGNOR X LINES werden die ersten X linien übersprungen
-
18.01.11 11:52 #5Lass die Toten ruhen!06.09.10 11:29;
ERLEDIGT
JAWer einmal leckt, der weiß wies schmeckt!
Ähnliche Themen
-
LOAD DATA INFILE Problem
Von Boof im Forum PHPAntworten: 3Letzter Beitrag: 18.01.11, 11:51 -
load data local infile
Von al-Maghribi im Forum Relationale DatenbanksystemeAntworten: 9Letzter Beitrag: 09.04.08, 16:17 -
Load Data Infile & csv upload
Von südpol im Forum PHPAntworten: 1Letzter Beitrag: 15.06.07, 13:21 -
LOAD DATA INFILE (MySQL) klappt nicht
Von OsunSeyi im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 16.08.06, 18:16 -
MySQL Load Data Infile
Von JensG im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 25.11.05, 11:27





Zitieren

Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen