MySql Fehler bei eintragung in Tabelle

CEZ

Grünschnabel
Ich habe folgendes Problem.

Wenn ich die Variablen in die Tabelle eintragen will kommt folgende MySQL Fehlermeldung:

PHP:
SQL-Befehl:

(
'', 'Hallenfete', 'Halle OSt', '20 Uhr', '1 fsdfdsfdd', '1', '', ''
)

MySQL meldet: Dokumentation
#1064 - 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 ''','Hallenfete','Halle OSt','20 Uhr','1 fsdfdsfdd','1','','')' at line 1

der code lautet:
PHP:
<?PHP
$id=$_POST['aid'];
if (ereg ("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})", $_POST['date'], $regs)) {
$sdate = mktime(0,0,0, $regs[2], $regs[1], $regs[3]); }
if (isset($_POST['Submit']) && $_POST['Submit']!='Kopie Speichern'){
	$update = mysql_query("UPDATE event SET date    = '$sdate'          WHERE id=$_POST[aid]");
	$update = mysql_query("UPDATE event SET name    = '$_POST[name]'    WHERE id=$_POST[aid]");
	$update = mysql_query("UPDATE event SET ort    = '$_POST[ort]'    WHERE id=$_POST[aid]");
	$update = mysql_query("UPDATE event SET uhrzeit   = '$_POST[uhrzeit]'   WHERE id=$_POST[aid]");
	$update = mysql_query("UPDATE event SET beschreibung   = '$_POST[beschreibung]'   WHERE id=$_POST[aid]");
} elseif(isset($_POST['Submit']) && $_POST['Submit']=='Kopie Speichern') {
	$insert = mysql_query("INSERT INTO event (date,name,ort,uhrzeit,beschreibung,active,maxuser, eventkey)
	VALUES ('$sdate','$_POST[name]','$_POST[ort]','$_POST[uhrzeit]','$_POST[beschreibung]','1','','')");
}
	echo "('$sdate','$_POST[name]','$_POST[ort]','$_POST[uhrzeit]','$_POST[beschreibung]','1','','')"
?>

für schnelle Hilfe wäre ich dankbar !!
 
HI,


ist das dein ganzes Script`?
Dann würde ja der mysql_connect fehlen :P

Und wieso weit du $id zu, nutzt dies aber nicht;
PHP:
$id=$_POST['aid'];
?


Sonst lass doch mal alle querys via echo ausgeben; dann wirst du sehen, welche Syntax fehlerhaft ist.

bo
 
Führe nie ein SQL direkt aus. Immer erst ein eine Variable speichern. Mit der kannst du besser debugen.
PHP:
$sql = "UPDATE event SET date  = '$sdate'  WHERE id=$_POST[aid]";
// TODO: Nach Debugging die echo-Zeile wieder löschen
echo $sql; 
$update = mysql_query($sql);
So hast du in der Angabe alle SQLs bis und mit demjenigen der scheitert. Diesen kannst du dann kopieren und mit phpMyAdmin testen.

PS:
Du kannst auch mehrere Felder in einem einzigen Updatestatement anpassen. Vermindert schreibzugriffe auf die DB.
 
Zuletzt bearbeitet:
Zurück