ich will jetzt endlich mal verstehen, wie eine function funktioniert. Bisher habe ich mich immer drum herum gearbeitet, weil ich es einfach nicht kapiere... - trotz allen möglichen Hilfeseiten.
Folgendes Problem:
Eine Tabelle in einer Datenbank soll per CSV-Datei aktualisiert werden. Wenn neue Einträge hinzukommen, sollen die alten unberührt bleiben, aber wenn etwas in der CSV verändert wurde, soll es in der Datenbank ebenfalls (bis auf einen Wert!!) geändert werden. Also muß jeder Eintrag mit jedem Eintrag in der CSV verglichen werden.
Ich habe es für eine Spalte jetzt so gemacht:
Das will ich mir jetzt aber für die anderen Spalten ersparen, daher habe ich es so versucht:
Aber hier kommt gleich ne SQL-Fehlermeldung:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '80.00 = '65.00' WHERE ArtNr = 'xx0010'' at line 1
eigentlich dürfte es aber diese Zeile in der CSV-Datei noch nicht einmal betreffen, da diese gar nicht geändert wurde...
Folgendes Problem:
Eine Tabelle in einer Datenbank soll per CSV-Datei aktualisiert werden. Wenn neue Einträge hinzukommen, sollen die alten unberührt bleiben, aber wenn etwas in der CSV verändert wurde, soll es in der Datenbank ebenfalls (bis auf einen Wert!!) geändert werden. Also muß jeder Eintrag mit jedem Eintrag in der CSV verglichen werden.
Ich habe es für eine Spalte jetzt so gemacht:
PHP:
if($csv_beschreibung != $besonderheit){
$update = "UPDATE $tb_waren SET besonderheit = '$csv_beschreibung'
WHERE ArtNr = '$csv_ArtNr' ";
$updaten = mysql_query($update)OR die(mysql_error());
}
PHP:
function warenUpdate($datenbank, $csv_datei, $csv_ArtNr){
if($datenbank != $csv_datei){
$update = "UPDATE waren SET $datenbank = '$csv_datei'
WHERE ArtNr = '$csv_ArtNr' ";
$updaten = mysql_query($update)OR die(mysql_error());
}}
warenUpdate($preis, $csv_preis, $csv_ArtNr);
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '80.00 = '65.00' WHERE ArtNr = 'xx0010'' at line 1
eigentlich dürfte es aber diese Zeile in der CSV-Datei noch nicht einmal betreffen, da diese gar nicht geändert wurde...