Seite 2 von 2

Re: UPDATE mit Bedingung

Verfasst: Sa, 31. Jul 2021 9:12
von Manfred
sorry, tut mir echt leid. Aber ich habe das mal eingegeben

Code: Alles auswählen

-leer-'; SELECT * FROM system.tables --
der Satz wurde nicht mal in der Tabelle gespeichert. geschweige denn das man irgendwas als Rückgabe bekam.
Also, was muß ich machen, damit man sowas prüfen kann?

Re: UPDATE mit Bedingung

Verfasst: Sa, 31. Jul 2021 9:16
von Manfred
wenn ich das im Architekten eingebe als fertiges Ergebnis

Code: Alles auswählen

INSERT INTO maengelmeldung (id, idfahrer, idfahrzeug, textorg, datumein, zeitein, doppelt, extern)
          VALUES ('f3ef819a-d55f-4ab5-bf07-999bb5596780','1072                                ','141                                 ','-leer-'; SELECT * FROM system.tables --','2021-07-31','09:13:24', FALSE,FALSE)
kommt folgende Fehlermeldung vom ADS
ERROR IN SCRIPT: poQuery: Error 7200: AQE Error: State = 42000; NativeError = 2115; [SAP][Advantage SQL Engine]Expected lexical element not found: ) You are missing the closing ")" after the keyword VALUES in INSERT INTO. -- Location of error
in the SQL statement is: 233 (line: 2 column: 134)

Re: UPDATE mit Bedingung

Verfasst: Sa, 31. Jul 2021 10:09
von ramses
Werner_Bayern hat geschrieben: Fr, 30. Jul 2021 21:24
HaPe hat geschrieben: Fr, 30. Jul 2021 19:24 Die ist vom PostGreSQL, Manfred arbeitet hier aber mit dem ADS :wink:
Nein, kommt m. W. n. eigentlich von PHP. Gibt's nicht unter PostgreSQL.
Die aktuelle Funktion heisst PQescapeStringConn() und wird dem Client mit der Postgres Lib libpq bereitgestellt.

Re: UPDATE mit Bedingung

Verfasst: So, 01. Aug 2021 20:20
von nightcrawler
Manfred,
Du sprachst von Update und testest mit Insert? Also bitte ...

Re: UPDATE mit Bedingung

Verfasst: Mo, 02. Aug 2021 7:22
von Manfred
oh,
da gibt es auch noch Unterschiede? Ich dachte das gilt generell.
Ja, ich habe erst vor kurzer Zeit mit SQl angefangen, da sind mir die Feinheiten noch nicht so geläufig.... :binky:

Re: UPDATE mit Bedingung

Verfasst: Mo, 02. Aug 2021 10:08
von nightcrawler
zumindest die grundsätzliche Syntax sollte bekannt sein ;)
Beim INSERT: viele Werte, kommagetrennt, Feldliste und Werteliste jeweils in Klammern

Code: Alles auswählen

INSERT INTO <Tabelle> ( <Feldliste> ) VALUES ( <Werteliste> )
Beim Update: Immer Feld/Wertepaare, kommagetrennt, nicht geklammert

Code: Alles auswählen

UPDATE <Tabelle> SET <Feld1>=<Wert1> , <Feld2>=<Wert2> 
Ein INSERT kann man natürlich auch per SQL injection angreifen. Dann muss halt die Syntax angepasst werden ... und man muss die Anzahl der Felder kennen. Aber da hat man ja auch die Möglichkeit zu7m spielen, falls die Fehlermeldungen sauber ausgegeben werden.

Re: UPDATE mit Bedingung

Verfasst: Mo, 02. Aug 2021 10:27
von Manfred
nightcrawler hat geschrieben: Mo, 02. Aug 2021 10:08 zumindest die grundsätzliche Syntax sollte bekannt sein ;)
Joachim, ich weiß ja nicht was mit Dir gerade los ist, aber das ist ein wenig weit hergeholt. Die Grundsyntax ist mir schon bekannt. Aber das worum es hier jetzt geht/ging ist wohl doch schon tieferes Wissen. Meinst Du nicht auch? Wenn es zur Grundsyntax gehören würde, dann würde ich davon ausgehen, das viel mehr Antworten dazu von allgemeiner Seite her hier gekommen wären. :wink:

Re: UPDATE mit Bedingung

Verfasst: Mo, 02. Aug 2021 10:59
von ramses
Hallo Manfred

ein INSERT erstellt immer eine neue Zeile
ein UPDATE verändert eine bereits vorhandene Zeile

(jedenfalls bei Postgres)

Re: UPDATE mit Bedingung

Verfasst: Mo, 02. Aug 2021 11:02
von Manfred
Danke Carlo das hatte ich bis gerade nicht gewußt. :roll:

Re: UPDATE mit Bedingung

Verfasst: Mo, 02. Aug 2021 11:04
von ramses
Du schreibst zu Beginn von UPDATE Problemen und später schreibst du von INSERT ......

Re: UPDATE mit Bedingung

Verfasst: Mo, 02. Aug 2021 16:57
von nightcrawler
Hallo Manfred,
Du hast doch beides mal quasi die richtigen Statements verwendet. Dass es bei einem mit dem SQL Injection nicht so geht wie beim anderen - wegen unterschiedlicher Syntax - kann man an Deinen Statements direkt auslesen. Auch ohne, dass man ein SQL Guru ist.