Liebe PHP-Gemeinde,
nach zahllosen Recherchen über das Thema "CSV in mySQL importieren" und genauso vielen Tests habe ich nun doch noch an die echten Profis eine Frage.
Folgender Sachverhalt:
Ich habe eine Test CSV, diese hat 3 Spalten und 2 Zeilen (also ohne Überschrift) und lade diese mit folgendem Code in meine Datenbank:
PHP-Code:
$conn = mysql_connect("localhost","root","");
mysql_select_db("mc_xxsta001");
if(!$conn) {
die ("Keine Datenbankverbindung");
}
$fp = fopen("csv/test.csv","r");
$handel = fgetcsv($fp,100000,";");
while (false == feof($fp)) {
@$handel=fgetcsv($fp,10000,";");
if( 3 == count($handel)
&& "" !=trim($handel[0])
&& "" !=trim($handel[1])
&& "" !=trim($handel[2])) {
$sql = "INSERT INTO test (test1,test2,test3) VALUES ('$handel[0]','$handel[1]','$handel[2]')";
$erg = mysql_query($sql);
}
}
mysql_close();
Das funktioniert ohne Probleme!
Nun geht es aber in Wirklichkeit um eine CSV-Datei, die 62 Spalten und über 6.000 Zeilen hat. Diese würde ich gerne importieren. Wenn ich aber der oben dargestelltn Logik folge und diesen Code meinen Bedüfnissen anpasse, wie z.B.:
PHP-Code:
$conn = mysql_connect("localhost","root","");
mysql_select_db("mc_xxsta001");
if(!$conn) {
die ("Keine Datenbankverbindung");
}
$fp = fopen("csv/echte.csv","r");
$handel = fgetcsv($fp,100000,";");
while (false == feof($fp)) {
@$handel=fgetcsv($fp,10000,";");
if( 62 == count($handel)
//Spalte 1 als 0 | Spalte 62 als 61
&& "" !=trim($handel[0])
&& "" !=trim($handel[1])
&& "" !=trim($handel[2])
.....bis && !=trim($handel[61]) {
$sql = "INSERT INTO echt (..) VALUES ('$handel[0]','$handel[1]','$handel[2].......,'$handel[61]'')";
$erg = mysql_query($sql);
}
}
mysql_close();
Dann gehts nicht!!!
Gibt es hier eine Sperre, die den Code abbricht, wenn er zu lange läuft?
Warum funktioniert dieser SQL-Code nicht in PHP?
PHP-Code:
LOAD DATA LOCAL INFILE 'C:\\xampp\\tmp\\php2CD.tmp' INTOTABLE `echt` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\'LINES TERMINATED BY '\r\n'# 6482 Zeile(n) betroffen
Kann mit bitte jemand einen heilenden Ansatz geben? Danke schonmal für die Zeit fürs Lesen und Gedanken machen. Viele Grüße