Hi leute
für die Zeile :
PHP:--------------------------------------------------------------------------------
mysql_query("INSERT INTO $jahr1 (Datum,Beschreibung,monatlich,jahrlich,Eintrag) VALUES ('$jahr1.$monat1.$tag1','$angaben','$monatlich','$jahrlich','$eintrag')") or die (mysql_error());
--------------------------------------------------------------------------------
bekomme ich immer diesen Fehler :
You have an error in your SQL syntax near '2001 (Datum,Beschreibung,monatlich,jahrlich,Eintrag) VALUES ('2001.4.27','Laber ' at line 1
Es ist sicherlich einfach aber ich bin einfach zu blöd um den ******** Fehler zu finden.
Tob
kannste mir mal den create der Tabelle posten ?
Die Tabelle hab ich mit PHPmyAdmin gemacht, ich hab den Befehl nirgends mehr.
Tob
schmalle
14-09-2001, 14:30
dann poste halt "von hand", wie die tabelle formatiert ist. zb. feld = varchar(64) usw.
ausserdem ändere mal den insert so ab:
insert into $table set feld1='$var1', feld2='$var2', feld3='$var4' .... usw
dann haste einen besseren durchblick
Nr int(11) Nein auto_increment
Datum date Ja NULL
Eintrag varchar(60) Nein
monatlich char(3) Ja NULL
jahrlich char(3) Ja NULL
Beschreibung text Ja NULL
hmm, ich würde sagen das date ist falsch, das erwartet die daten in der Forum Jahr-Monat-Tag. Glaube ich zumindestens auf den ersten Blick.
schmalle
14-09-2001, 19:55
versuch´s mal mit
$datum_neu = "$jahr1.$monat1.$tag1";
(insert into $tabelle set datum = date_format($datum_neu, 'Y.m.d.') ");
mfg
schmalle
Punkt 1: insert into $jahr1 ...
Ich nehme mal an, dass $jahr1 eine Zahl ist. Dann ist es KEIN WUNDER, daß sich mySQL beschwert; denn Tabellennamen dürfen nicht mit einer Zahl anfangen. Statt $jahr1 muß hier der NAME DEINER TABELLE hin.
Punkt 2: am Datum wird dein insert auch scheitern, denn wie Joel ganz richtig bemerkt, ist das Format etwas anders als du denkst. Also aus den Punkten in dem entsprechenden String Minusse machen.
Punkt 3: @schmalle: Deine Insert-Syntax wird zwar von mySQL verstanden, die von Tob ist aber korrekt. ;)
mysql_query("INSERT INTO tabelle (Datum,Beschreibung,monatlich,jahrlich,Eintrag) VALUES ('$jahr1-$monat1-$tag1','$angaben','$monatlich','$jahrlich','$eintrag')") or die (mysql_error());
P.S. @schmalle: du meintest wohl date_format($datum_neu, 'Y-m-d')?!?
@Titus
Punkt 1 Eine Zahl als Tabelenname scheint erlaubt zu sein sonst hätte ich sie jawohl kaum erstellen können.
Ansonsten hab ich einen ganz guten Trick gefunden wie man zu syntaxtechnisch korrekten mysql Anweisungen kommt:
Man erstellt einfach einen eintrag in die Tabelle mit PHPmyAdmin und kopiert sich die Befehle heraus die einem von PHPmyAdmin angezeigt werden.
Trotzdem Danke für eure Mühe jetzt funzt alles so wie geplant.
Tob