Seite 1 von 2
Fehlermeldung bei UPDATE-Befehl
Verfasst: 25.02.2005 08:13
von panoma
Der untenstehende Code verursacht folgende Fehlermeldung:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /mnt/kw2/06/108/00000016/htdocs/html/Administration/NEU_siteAdminAktivenTabelleEintragenAction.php on line 37
Line 37 ist die mit der WHERE-Bedingung
Wäre super, wenn jemand eine Problemlösung hätte, vielen Dank schon mal an alle. Schöne Grüße.
<?
$sql = "UPDATE tabelleAktiven
SET position='".$_POST['position']."',
team ='".$_POST['team']."',
spiele ='".$_POST['spiele']."',
gewonnen ='".$_POST['gewonnen']."',
unentschieden ='".$_POST['unentschieden']."',
verloren ='".$_POST['verloren']."',
torefuer ='".$_POST['torefuer']."',
trennzeichen =':',
toregegen ='".$_POST['toregegen']."',
toredifferenz ='".$_POST['torefuer']-$_POST['toregegen']."',
punkte ='".$_POST['gewonnen']*3+$_POST['unentschieden']*1."'
WHERE position == '".$_POST['position']."';
mysql_query($sql) OR die(mysql_error());
echo '<div align="center" valign="top"><br><br>
<font face="arial" size="2"><b>Die Tabellenposition wurde eingefügt<br><br><a href="admin.html">zurück zum Admin-Menue</a></font>
</div>';
?>
Verfasst: 25.02.2005 10:42
von lenni
WHERE position == '".$_POST['position']."';
Hier ist ein "=" zu viel
So ist's richtig: WHERE position = '".$_POST['position']."';
Lenni
Verfasst: 25.02.2005 11:46
von panoma
Hallo danke für deinen Tipp, hab's ausprobiert aber noch immer die gleiche Fehlermeldung. Stimmen denn die Hochkommatas und die Anführungszeichen?
Gruß
Verfasst: 25.02.2005 12:48
von Blutgerinsel
panoma hat geschrieben:Hallo danke für deinen Tipp, hab's ausprobiert aber noch immer die gleiche Fehlermeldung. Stimmen denn die Hochkommatas und die Anführungszeichen?
Gruß
aus dieser Zeile mal:
Code: Alles auswählen
punkte ='".$_POST['gewonnen']*3+$_POST['unentschieden']*1."'
mal das machen:
Code: Alles auswählen
punkte ='".($_POST['gewonnen']*3+$_POST['unentschieden']*1)."'
Auch das SQL Statment vor der DB Abfrage ausgeben zu Testzwecken ist vorteilhaft
Leider noch nicht gelöst
Verfasst: 28.02.2005 08:46
von panoma
Hallo,
hab auch das probiert, funktioniert aber nicht. Es kommt dann eine Meldung mit unexpected "(" usw.
Ich denke, dass irgendwas nicht mit der WHERE Bedingung stimmt. Weiß nur nicht was...
Schöne Grüße
Verfasst: 28.02.2005 10:17
von sonic-ac
Moin,
mach mal die Zeichenkette am Ende der "WHERE" zu, also
Verfasst: 28.02.2005 10:20
von Blutgerinsel
mach ein echo $sql;
Und poste das Ergebnis sonst braucht das noch Jahre bis man so den Fehler findet
Code
Verfasst: 28.02.2005 12:53
von panoma
Hier nochmal der komplette Code. Wie mache ich das mit dem echo $sql?
Code: Alles auswählen
<?php
$db_link = mysql_connect('PLATZHALTER');
if ($db_link) {
mysql_select_db('PLATZHALTER', $db_link);
}
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<meta name="generator" content="Adobe GoLive CS">
<title>Administration</title>
<style media="screen" type="text/css">
a:link { color:#000000; text-decoration:none }
a:visited { color:#000000; text-decoration:none }
a:hover { color:#ff9900; text-decoration:none }
a:active { color:#ff9900; text-decoration:none }
</style>
</head>
<body bgcolor="#ffffff" leftmargin="0" marginwidth="0" topmargin="0" marginheight="0">
<?
echo '$sql = "UPDATE tabelleAktiven
SET position='".$_POST['position']."',
team ='".$_POST['team']."',
spiele ='".$_POST['spiele']."',
gewonnen ='".$_POST['gewonnen']."',
unentschieden ='".$_POST['unentschieden']."',
verloren ='".$_POST['verloren']."',
torefuer ='".$_POST['torefuer']."',
trennzeichen =':',
toregegen ='".$_POST['toregegen']."',
toredifferenz ='".$_POST['torefuer']-$_POST['toregegen']."',
punkte ='".$_POST['gewonnen']*3+$_POST['unentschieden']*1."'
WHERE position = '".$_POST['position']."'"';
mysql_query($sql) OR die(mysql_error());
echo '<div align="center" valign="top"><br><br>
<font face="arial" size="2"><b>Die Tabellenposition wurde eingefügt<br><br><a href="admin.html">zurück zum Admin-Menue</a></font>
</div>';
?>
</body>
</html>
Leuchte: [code] eingefügt
Verfasst: 28.02.2005 13:10
von Leuchte
Code: Alles auswählen
<?
$sql = "UPDATE tabelleAktiven
SET position='".$_POST['position']."',
team ='".$_POST['team']."',
spiele ='".$_POST['spiele']."',
gewonnen ='".$_POST['gewonnen']."',
unentschieden ='".$_POST['unentschieden']."',
verloren ='".$_POST['verloren']."',
torefuer ='".$_POST['torefuer']."',
trennzeichen =':',
toregegen ='".$_POST['toregegen']."',
toredifferenz ='".$_POST['torefuer']-$_POST['toregegen']."',
punkte ='".$_POST['gewonnen']*3+$_POST['unentschieden']*1."'
WHERE position = '".$_POST['position'];
mysql_query($sql) OR die(mysql_error());
echo '<div align="center" valign="top"><br><br>
<font face="arial" size="2"><b>Die Tabellenposition wurde eingefügt<br><br><a href="admin.html">zurück zum Admin-Menue</a></font>
</div>';
?>
Und immer schön die
Verfasst: 28.02.2005 13:21
von sonic-ac
Das dürfte zum sql-Fehler führen, da Wert nicht beidseitig eingeschlossen - fehlt also noch ein '
Mein Vorschlag
Code: Alles auswählen
$sql = "UPDATE tabelleAktiven
SET position='".$_POST['position']."',
team ='".$_POST['team']."',
spiele ='".$_POST['spiele']."',
gewonnen ='".$_POST['gewonnen']."',
unentschieden ='".$_POST['unentschieden']."',
verloren ='".$_POST['verloren']."',
torefuer ='".$_POST['torefuer']."',
trennzeichen =':',
toregegen ='".$_POST['toregegen']."',
toredifferenz ='".$_POST['torefuer']-$_POST['toregegen']."',
punkte ='".$_POST['gewonnen']*3+$_POST['unentschieden']*1."'
WHERE position = '".$_POST['position'] ."'";