Update funktioniert nicht

reto

Erfahrenes Mitglied
Hallo Leute, brauche eure Hilfe

Und zwar funktioniert folgender Befehl nicht:

SQL = "Update dietabelle Set inhalt1 = '"& request ("inhalt1") &"', inhalt2 = '"& request ("inhalt2") &"' Where d_Username = '" & Session("AfUsername") & "' And d_ID = '" & request("d_ID") & "'"

Das Problem ist die d_ID. Ohne diese Angabe funktioniert es, allerdings werden dann alle Datensätze mit dem Inhalt aufgefüllt, was ich natürlich nicht will. Es soll nur der Datensatz mit der entsprechenden d_ID abgefüllt werden.

Kann mir jemand sagen, was daran falsch ist? Danke für jede Hilfe im voraus!
 
Hallo.

Die ID wird wohl ein Integer sein, deswegen im SQL Query ohne einfache Anführungszeichen verwenden, und am besten noch zuerst den QueryString explizit in einen Int mit der Funktion Cint() konvertieren.

Mfg,
Alex
 
Hallo Alex

Danke vielmal! So funktionierts nun! Lag tatsächlich an den einfachen Anführungszeichen!
 
Original geschrieben von reto
Hallo Alex

Danke vielmal! So funktionierts nun! Lag tatsächlich an den einfachen Anführungszeichen!

MySQL nimmt es mit den Datentypen sehr genau, was VBS allerdings nicht tut.
Übrigens, du hast die QueryString-Variable direkt ins SQL-Query eingebunden.
Wenn du jetzt CINT benutzt ist das nciht so schlimm, da bei einer Nicht-Zahl kommts so zu einer Fehlermeldung, aber bei Zeichenketten könnte das schlimm werden.

Wenn das Benutzereingaben sind, könnte da jemand Unfug treiben.
Weitere Hinweise zu SQL Injection


Mfg,
Alex
 
Zurück