Fehlermeldung bei UPDATE-Befehl

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
panoma
Mitglied
Beiträge: 4
Registriert: 23.02.2005 23:31

Fehlermeldung bei UPDATE-Befehl

Beitrag 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>';
?>
lenni
Mitglied
Beiträge: 202
Registriert: 25.10.2004 16:25

Beitrag von lenni »

WHERE position == '".$_POST['position']."';

Hier ist ein "=" zu viel

So ist's richtig: WHERE position = '".$_POST['position']."';

Lenni
panoma
Mitglied
Beiträge: 4
Registriert: 23.02.2005 23:31

Beitrag 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ß
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag 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
panoma
Mitglied
Beiträge: 4
Registriert: 23.02.2005 23:31

Leider noch nicht gelöst

Beitrag 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
Benutzeravatar
sonic-ac
Mitglied
Beiträge: 14
Registriert: 18.02.2005 18:02
Wohnort: Aachen

Beitrag von sonic-ac »

Moin,

mach mal die Zeichenkette am Ende der "WHERE" zu, also

Code: Alles auswählen

WHERE position = '".$_POST['position']."'";
Bye
C.
hab natürlich auch ein kleines Forum
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

mach ein echo $sql;

Und poste das Ergebnis sonst braucht das noch Jahre bis man so den Fehler findet
panoma
Mitglied
Beiträge: 4
Registriert: 23.02.2005 23:31

Code

Beitrag 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
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag 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

Code: Alles auswählen

-Tags nutzen
Benutzeravatar
sonic-ac
Mitglied
Beiträge: 14
Registriert: 18.02.2005 18:02
Wohnort: Aachen

Beitrag von sonic-ac »

Leuchte hat geschrieben:

Code: Alles auswählen

WHERE position = '".$_POST['position']; 
Das dürfte zum sql-Fehler führen, da Wert nicht beidseitig eingeschlossen - fehlt also noch ein ' ;-)

Mein Vorschlag 8)

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'] ."'"; 
Bye
C.
hab natürlich auch ein kleines Forum
Antworten

Zurück zu „Coding & Technik“