Wiki-Quellcode von Datenbank (SQL Statement)


Zeige letzte Bearbeiter
1 {{figure image="db_statement_de.png"}}
2 Nutzeroberfläche für Aktionen vom Typ //Datenbank-Abfrage//.
3 {{/figure}}
4
5 Aktionen vom Typ //Datenbank-Abfrage// ermöglicht es, eine SQL-Abfrage auszuführen. Dazu muss vorher eine Verbindung in Datenbankverwaltung angelegt worden sein. Innerhalb der Abfrage können Platzhalter verwendet werden, um etwa Formulardaten in die Abfrage einzufügen. Dabei werden sogenannte Prepared-Statements erzeugt, sodass SQL-Injection nicht möglich ist.
6
7 == Parameter ==
8
9 === Details der Datenbank-Abfrage ===
10
11 ; Konfigurierte DB-Abfrage nutzen?
12 : Wenn diese Option ausgewählt wird, kann eine im Backend vorkonfigurierte DB-Abfrage ausgewählt werden. Zusätzlichen können Abfrageparameter hinzugefügt werden.
13 ; SQL Anweisung
14 : Textfeld für die SQL Anweisung.
15
16 == Aktionsplatzhalter ==
17
18 Aktionen vom Typ //Datenbank-Abfrage// stellen [[Aktionsplatzhalter>>Formcycle.UserInterface.Variables||anchor="Aktionsplatzhalter"]] bereit, welche in darauf folgenden Aktionen verwendet werden können.
19
20 === Standardplatzhalter ===
21
22 ; [%$<Aktionsname>.SUCCESS%]
23 : Rückgabe ob Aktion erfolgreich ausgeführt wurde. Liefert Boolean (true/false) zurück.
24 ; [%$<Aktionsname>.RESULT%]
25 : Rückgabe aller von der Aktion bereitgestellten Ergebnisse in strukturierter Form.
26
27 ; [%$<Aktionsname>.ERROR_CODE%]
28 : Der geworfene Fehler-Code im Fehlerfall der Aktion. Leer wenn kein Fehler aufgetreten ist.
29 ; [%$<Aktionsname>.ERROR_MESSAGE%]
30 : Die geworfene Fehler-Nachricht im Fehlerfall der Aktion. Leer wenn kein Fehler aufgetreten ist.
31
32 === Aktionsspezifische Platzhalter ===
33
34 == Hinweis ==
35
36 Das eingegebene Statement wird als //Prepared-Statement// ausgeführt, so dass keine sogenannte //SQL-Injection// moglich ist. Verwenden Sie daher auch keine Hochkommas.
37
38 (% style="color: rgb(56, 118, 29);" %)**Richtig**
39
40 {{code language="sql"}}
41 INSERT INTO test_tabelle (vorname, nachname) values ([%tfVorname%], [%tfName%])
42 {{/code}}
43
44 (% style="color: rgb(204, 0, 0);" %)**Falsch**
45
46 {{code language="sql"}}
47 INSERT INTO test_tabelle (vorname, nachname) values ('[%tfVorname%]', '[%tfName%]')
48 {{/code}}