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:
UPDATE xqz_formel_var SET Option='x|y' WHERE Id='0'
Als Antwort bekomme ich:
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 $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.
|
|
Profil || Suche
|
001
02.05.2012, 19:45
Dopefish
|
m_iace postete ...
<?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.
|
|
Profil || Suche
|
002
02.05.2012, 20:07
m_iace
|
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.
|
|
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.
|
|
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.
|
|
Profil || Suche
|
005
02.05.2012, 21:50
m_iace
|
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.
--
|
|
Profil || Suche
|