Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
02.05.2012, 19:18
m_iace



Zurzeit beschäftige ich mich mit Datenbanken und demzufolge auch mit PHP und MySQL. Aber 'irgendwie' bekomme ich den Update Befehl nicht auf die Reihe...
Die Querry lautet wie folgt:
Quellcode:UPDATE xqz_formel_var SET Option='x|y' WHERE Id='0'
Als Antwort bekomme ich:
Quellcode: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 'Option='x|y' WHERE Id='0'' at line 4
Ich überprüfe also die MySQL Version... als Ergebnis bekam ich 5.1.61.
Im Referenzhandbuch konnte ich jedoch keine Fehler im Syntax ausmachen.
Hier ein Teil der Konfiguration von MySQL aus der phpinfo():

Der PHP Code:
PHP-Quellcode:<?php
$query 
"UPDATE 
              xqz_formel_var 
              SET 
              Option='"
.$send_desc."'
              WHERE 
              Id='"
.$id."'";
    
mysql_query($query) or die(mysql_error());
?>
Überprüft wurde bereits die Richtigkeit aller Namen (xqz_formel_var als Tabellenname, Option als Spaltenname) sowie praktisch jede Kombinationsmöglichkeit aus ", '. Als Trennzeichen auch schon vieles probiert(auch normale Buchstaben). Die richtige DB ist ebenfalls gewählt. Der Fehler lässt sich mit beliebiger Id und Textinhalt reproduzieren.
Id ist ein unsigned int und Option vom typ text.

Vermutlich nur ein Denkfehler... aber irgendwie komme ich nicht dahinter.

--


Dieser Beitrag wurde am 02.05.2012 um 20:06 von m_iace bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
02.05.2012, 19:45
Dopefish



Zitat:
m_iace postete
...
PHP-Quellcode:<?php
... WHERE 
              Id
='".$id"'";...
?>

da fehlt ein Punkt!

--

Resetting politics:
http://www.onlinepartei.eu


Dieser Beitrag wurde am 02.05.2012 um 19:45 von Dopefish bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
02.05.2012, 20:07
m_iace



Zitat:
Dopefish postete
da fehlt ein Punkt!
Übertragungsfehler... war jedenfalls richtig in der php Datei.

--


Dieser Beitrag wurde am 02.05.2012 um 20:07 von m_iace bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
02.05.2012, 21:20
Dopefish



weitere vermutung:
schreib mal die query in eine befehlszeile, womöglich geht irgendwo ein leerzeichen verloren. (falls das nicht auch nur bei der übertragung geändert wurde)
stimmt groß-und kleinschreibung der feldnamen?
zum debuggen könntest du nach der zuweisung ein "echo $query;" machen, kopieren und in zb phpmyadmin testen.

--

Resetting politics:
http://www.onlinepartei.eu


Dieser Beitrag wurde am 02.05.2012 um 21:21 von Dopefish bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
02.05.2012, 21:22
Bluthund



http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html

Option muss in Backquotes (`) in MySQL, weil es ein reserviertes Wort ist.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 02.05.2012 um 21:23 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
02.05.2012, 21:50
m_iace



Zitat:
Bluthund postete
http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html

Option muss in Backquotes (`) in MySQL, weil es ein reserviertes Wort ist.

Ahh, ja dass hat mir gefehlt...
Also das Problem ist gelöst und allen Beteiligten danke für die Mühe.

--

zum Seitenanfang zum Seitenende Profil || Suche