Update schwierigkeiten

thomsonz

Mitglied
Hallo ich habe angefangen ein formular zu erstellen, welches mir erlaubt datensätze in der Tabelle staedte upzudaten. Leider gibt mir mysql immer ein error an und zwar ein fehler in der syntax doch leider kann ich keinen erspähen. vielleicht könnt ihr mir ja helfen. Danke
PHP:
if ($eintragen)
	{
		$reindamit = "UPDATE `staedte` WHERE `id` = '".$_POST['stadt_id']."' SET
		beschreibung = '".$_POST['beschreibung']."' LIMIT 1 ";
		
		
		$result = mysql_query($reindamit) or die("Anfrage fehlgeschlagen: " . mysql_error());	
	}
 
Probier es mal so. Und was das LIMIT da zu suchen hat is mir schleierhaft.


PHP:
$reindamit = "UPDATE `staedte` 
                    SET beschreibung = '".$_POST['beschreibung']."' 
                    WHERE `id` = '".$_POST['stadt_id']."';
 
Hi,

lieber so:

PHP:
$reindamit = "UPDATE `staedte` 
                    SET beschreibung = '".mysql_real_escape_string($_POST['beschreibung'])."' 
                    WHERE `id` = '".intval($_POST['stadt_id'])."';

Damit's keine böse Überraschungen gibt (Stichwort SQL-Injections). ;)
Die id am besten vorher überprüfen.

LG
 
dank dir erst einmal das LIMIT beschränkt den UPDATE Befehl auf maximal einen Datensatz und ist damit wichtig. Auf jeden Fall funktioniert dein Befehlszeile wunderbar. auch mit dem Zusatz LIMIT 1. (steht auch in phpmyadmin so)
 
Und wenn's nicht so ist, sprich id ist nicht eindeutig, dann ist entweder das DB-Design für'n Fuß oder der Name id unglücklich gewählt. Ist id nicht eindeutig, wäre so eine LIMIT-Klausel aber auch Quatsch, da hat man ja gar keine Kontrolle, welcher der Datensätze genau geändert wird.

LG
 
ja da habt ihr recht aber warum steht er denn dann in der phpmyadmin beim php-code erzeugen mit drin? Oder anders gefragt wann macht das LIMIT 1 Sinn?
Vielen Dank
 
LIMIT 1 macht Sinn, wenn du eine SELECT-Anweisung hast und du nur den ersten Datensatz, der gefunden wird, anzeigen willst bzw. weiterverarbeiten willst.
 
Zurück