Csv mysql update

Hallo

ich möchte ein programm schreiben das eine csv datei in diesem format

Lukas;Heba;19
Stefan;Soda;19
Schrammel;Huber;20
Karl;Rosen;112

in meine mysql Datenbank abdatet

das heißt alten einträge sollen gleich bleiben, gänderte abgedatet und neue hinzugefügt werden

mein code bisher

//////////////////////////////////////////////

<?php // db connection
$host="localhost"; $user="root"; $password=""; $DB="matura"; $table="matura"; mysql\_connect($host,$user,$password); mysql\_select\_db($DB); $filepath = 'matura.csv'; if($fp = fopen($filepath, 'r')) { while($row = fgetcsv($fp, 10000, ';')) // ; Delimiter 10000 wie weit gelesn fp= pfad { echo "insert into {$table} values ('{$row[0]}', '{$row[1]}', '{$row[2]}',) ON duplicate KEY UPDATE Vorname = '{$row[0]}', Nachname = '{$row[1]}', Age = '{$row[2]}' "; mysql\_query("insert into {$table} values ('{$row[0]}', '{$row[1]}', '{$row[2]}',) ON duplicate KEY UPDATE Vorname = '{$row[0]}', Nachname = '{$row[1]}', Age = '{$row[2]}'"); } echo "Datei wurde überprüft"; } ?\> ////////////////////////////////////// MEINE AUSGABE ///////////////////////////////////// insert into matura values ('Lukas', 'Heba', '19',) ON duplicate KEY UPDATE Vorname = 'Lukas', Nachname = 'Heba', Age = '19' insert into matura values ('Stefan', 'Soda', '19',) ON duplicate KEY UPDATE Vorname = 'Stefan', Nachname = 'Soda', Age = '19' insert into matura values ('Schrammel', 'Huber', '20',) ON duplicate KEY UPDATE Vorname = 'Schrammel', Nachname = 'Huber', Age = '20' insert into matura values ('Karl', 'Rosen', '112',) ON duplicate KEY UPDATE Vorname = 'Karl', Nachname = 'Rosen', Age = '112' Datei wurde überprüft /////////////////////////////////// kann mir jemand das fertig programmieren ich brauch das morgen dringend!!! Für alle Tips dankbar wuba

was fehlt den da ???
oder wo hast du deine schwierigkeiten ??

was fehlt den da ???
oder wo hast du deine schwierigkeiten ??

ich hab es gelöst

falls es jemanden interessiert

{$row[0]} = Katalognr in meiner mysql hab ich als schlüssel und unic definiert

mein problem lag darin das ich die integer auch mit ’ bezeichnet habe

neuer code

<?php // db connection
$host="localhost"; $user="root"; $password=""; $DB="matura"; $table="matura"; mysql\_connect($host,$user,$password); mysql\_select\_db($DB); $filepath = 'matura.csv'; if($fp = fopen($filepath, 'r')) { while($row = fgetcsv($fp, 10000, ';')) { $sql = "insert into {$table} values ({$row[0]}, '{$row[1]}', '{$row[2]}', {$row[3]}) ON duplicate KEY UPDATE Vorname = '{$row[1]}', Nachname = '{$row[2]}', Age = {$row[3]}"; echo $sql . " "; //echo zum ueberpruefen des sql befehls if (!mysql\_query ($sql)) { echo "Zeile fehlgeschlagen. Grund: " . mysql\_error () . " "; } } echo "Datei wurde überprüft"; } ?\>

Schau dir mal die SQL Function Load Data Infile an:
http://dev.mysql.com/doc/refman/5.1/de/load-data.html

Gruß
Phillip

jup danke, interressiert immer :smile: