• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Daten werden nicht überschrieben

Padarom

Neues Mitglied
Hallo,

ich habe aktuell ein kleines Problem bei meiner Datenspeicherung eines eingegebenen Formulars in PHP.
PHP:
    $sqlab = "update UCP set Name = '" . $_POST["servername"] ."', ";
    $sqlab .= "Jahr = " . $_POST["serveralter"] . ", Slogan = '" . $_POST["serverslogan"] . "', ";
    $sqlab .= "Art = '" . $_POST["art"] . "', IP = '" . $_POST["serverip"] ."' where ID = 0";
    mysql_query($sqlab);
    if(mysql_affected_rows() > 0) { echo "Geändert."; }
    else { echo "Nicht gespeichert."; }
Egal welche Werte ich eintrage, oder wie oft ich den Button drücke, der Datensatz wird nie geändert und "Nicht gespeichert." wird ausgegeben.
Ich finde den Fehler auch einfach nicht. Hier ein Bild des zu bearbeitenden Datensatzes in PhpMyAdmin:
MySQL.jpg

Ich hoffe ihr könnt mir helfen.

Mit freundl. Grüßen
Padarom
 
Okay danke, hat aufgrund des Debuggens geklappt - Habe ausversehen einen Variablennamen (Bzw. übergebener Post-Wert) falsch angegeben und das die ganze Zeit übersehen.
SQL-Injections können in dem Fall eigentlich nicht auftreten, da diese Einstellungen nur von einem Adminstrator getroffen werden können - Und dieser hat wohl kaum die Absicht, seine eigene Datenbank zu injecten^^
Ansonsten nutze ich später real_escape_string bei meinen Registrier-/Loginfunktionen. ;)

Mit freundl. Grüßen
Padarom
 
Vielleicht möchte er aber mal ein Apostroph (also: '-Zeichen) in einer Eingabe verwenden. Escaping bei Kontextwechseln ist immer notwendig. Das dient auch nicht lediglich dazu, Angriffe zu verhindern. Letzteres ist mehr ein zwangsläufiger Nebeneffekt.

- Artikel:Kontextwechsel
 
Zurück
Oben