FB18 - Das Forum für Informatik

fb18.de / Off-Topic / Hard- und Softwarefragen

"Error in MySQL Syntax"

"Error in MySQL Syntax" 2006-03-08 12:10
Anonymer User
Angeblich ist an folgender Zeile etwas falsch (in der Nähe von WHERE). Die Eingabedaten haben alle das richtige Format, das habe ich bereits überprüft. Ich finde den Fehler einfach nicht.

UPDATE produkte SET nr = '$nr', kat = $kat, nx = '$nx', ny = '$ny', groesse = $groesse, p = $p, bx = '$bx', by = '$by', neu = $neu WHERE nr = '$alte_nr';
Kann mir jemand helfen?

Re: "Error in MySQL Syntax" 2006-03-08 12:27
Slater
wie wärs mal damit die Liste der Fehlerquellen zu verringern?..

UPDATE produkte SET nr = '$nr' WHERE nr = '$alte_nr';

tut's doch wohl genaus oder? kommt da ein Fehler?
außerdem Variablen durch Konstanten ersetzen

UPDATE produkte SET nr = '4' WHERE nr = '3';

Re: "Error in MySQL Syntax" 2006-03-08 12:50
Anonymer User
Okay, der Fehler liegt offensichtlich in der Variablen neu.

Das ist eine tinyint, die entweder auf 0 oder auf 1 gesetzt werden soll. Ich habe auch schon neu = '$neu' versucht, aber das bringt nichts. In der Variablen ist ganz sicher nur eine 0 oder 1 enthalten. Woran liegt das?

Generell funktioniert die Datenbank auch, wie sie ist. Nur eben nicht beim UPDATE-Befehl!

Re: "Error in MySQL Syntax" 2006-03-08 13:41
BoTaS
UPDATE produkte SET nr = '$nr', kat = $kat, nx = '$nx', ny = '$ny', groesse = $groesse, p = $p, bx = '$bx', by = '$by', neu = $neu WHERE nr = '$alte_nr';

Lass dir das ganze ding doch mal ausgeben. Dann siehst du schon mal ob da beim Einsetzen was schief läuft.
Wenn das nichts hilft kann man in die Anfrage mal ganz viele Zeilenumbrüche machen und sie z.B. bei phpmyadmin ausprobieren um anhand der Zeilennummer den Fehler einzugrenzen.
Wenn das dann auch noch nichts bringt kannst du in phpmyadmin einfach mal manuell einen Datensatz ändern. Die ausgeführte SQL-Anfrage steht dann da und die kannst du dann ja mal mit deiner vergleichen.

edit: wenn es nur an dem neu liegt: hast du die richtigen ' ` ´ genommen?

Re: "Error in MySQL Syntax" 2006-03-08 13:50
Anonymer User
Die anderen MySQL-Befehle, die ich verwende, habe ich genauso formatiert, d.h. ohne `´, und '' nur um Werte, die Strings sind. Das funktioniert auf dem Server auch einwandfrei. Hier ist z.B. der Befehl zum Eintragen einer neuen Zeile - funktioniert so auch:
INSERT INTO produkte (nr,kat,nx,ny,groesse,p,bx,by,neu) VALUES ('$nr',$kat,'$nx','$ny',$groesse,$p,'$bx','$by',$neu)

Re: "Error in MySQL Syntax" 2006-03-08 16:01
TriPhoenix
Hast du mal den Wert von mysql_error() ausgeben lassen?

Re: "Error in MySQL Syntax" 2006-03-08 16:11
Anonymer User
und auch ans quoting denken, ja, sonnst machst du praktisch deine ganze Datenbank öffentlich