MySQL Fehler in Update

Geordi

Mitglied
Hi,
eigentlich wollte ich was ganz normales machen: Einen Datenbankeintrag updaten. Schon 100mal gemacht und auch keine schwere Übung, doch dann kam das:
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 'mod='0', infotext='Hi,
ich bin Filip und habe zusammen' at line 1

Der Code dazu schaut so aus:
PHP:
if ($passwort!='')
		{
			$pwd= md5($passwort);
			$kenn = "passwort='$pwd',";
		}
		mysql_select_db("usr_web2_1");
		$eintrag = "UPDATE user SET nickname='$nickname', vorname='$vorname', nachname='$nachname', 
		userpic='$userpic', email='$email', $kenn pferd='$pferd', beruf='$beruf', konto='$konto', 
		aktiv='$aktiv', admin='$admin', mod='$moderator',  infotext='$infotext', msn='$msn', icq='$icq', 
		homepage='$homepage', signatur='$signatur' WHERE user_id = '$id'";
		mysql_query($eintrag);

Wenn ich den Teil:
PHP:
mod='$moderator'
entferne klappt alles. Die Variabel $moderator wird auch richtig übergeben.

Wo ist der Fehler? Ich finde ihn nicht!
 
"mod" ist eine reservierter Funktionsaufruf in MySQL - das ist als Feldbezeichnung nicht erlaubt. Benenne das Feld mal um, und probier das nochmal

LG
Andy
 
Verwende einfach nur richtige Anfürhungszeichen, dann sollte es Funktionieren:

SQL:
UPDATE `user` SET `nickname`='$nickname', `vorname`='$vorname', `nachname`='$nachname', 
        `userpic`='$userpic'....

vergess aber die Zeile nicht:

PHP:
$kenn = "`passwort`='$pwd',";
 
Zuletzt bearbeitet von einem Moderator:
boah ... sooooo viele anführungszeichen hab ich ja noch nieee gesehen :D
...man kann das ganze aber auch übertreiben ;)
 
Es ist aber die einzige Art wie man sicherstellen kann das es auch in Zukunft immer funktionieren wird. Was ist wenn MySQL plötzlich das wort "id, name oder passwort" reserviert wird?

Wenn man sich erst einmal daran gewöhnt hat schreibt man sie einfach mit hin. Und entgeht jeglichen Problemen das die Wörter eventuell reserviert sind.
 

Neue Beiträge

Zurück