PHP MyQL UPDATE Problem

qaysxdr

Cadet 4th Year
Registriert
Apr. 2011
Beiträge
122
Liebe CB-Community,
ich habe mit dem Aufbau einer einfachen Datenbank mithilfe von MySql und PHP begonnen. Ich bin relativ neu in der Materie und kenne mich daher nicht besonders gut aus.

Ich möchte nun ein Formular erstellen mit dessen Hilfe ich die Datenbank bzw. die Tabelle nutzer mit den Feldern Name und Passwort bearbeiten kann.
Ich erhalte dabei immer ein MySQL error bezüglich der Syntax.
PHP:
$c= " UPDATE nutzer SET `Name` = '$_POST[input_name]' , `Passwort` = '$_POST[input_pw]' WHERE `Index` = $_GET[id]" ;	
mysql_query($c) or die(mysql_error());
Die Fehlermeldung lautet "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 '' at line 1".



Warum erhalte ich dieses Fehlermeldung und wie kann ich sie beheben?

Vielen Dank im voraus
qaysxdr
P.S. Kennt jmd. eine Homepage auf der die MySQL-Abfrage über PHP gut erklärt ist, also auch die Syntax?
 
Backticks weglassen?
Und ich würde dir mal dringend empfehlen ein "echo $c" zwischen die 2 Zeilen zu stellen. Deine ganzen "'`
 
Würde auch die ganzen ' mal weglassen und nur bei der Übergabe an die Datenbank die Strings in ' setzen. z.B. der Benutzername ;)
 
Backticks weglassen?
Und ich würde dir mal dringend empfehlen ein "echo $c" zwischen die 2 Zeilen zu stellen. Deine ganzen "'`
Ja ich war verzweifelt und habe dann einfach mal alles irgendwie in Anführungszeichen gesetzt :D
 
Lass dir mal $c mittels echo ausgeben
Abgesehen davon solltest du niemals irgendwelche Benutzereingaben direkt in einem Query verwenden.
Ich würde zudem noch vermeiden, irgendwelche reservierten Namen als Spaltenbezeichner zu verwenden (wie zB "Index")
 
1.) es heißt $_POST['input_name']
2.) niemals direkt POST und GET in einen Query einbauen. Immer wenigstens über mysql-real-escape-string() gehen.
3.) Passwörter nie direkt in die DB speichern, sondern immer durch eine Hash-Funktion schicken
 
Zurück
Oben