Wiki-Quellcode von Datenbank-Abfrage
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | {{figure image="db_statement_de.png" width="400" clear="h1"}} | ||
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 werden Details zur Abfrage angezeigt. | ||
13 | ; Verbindung | ||
14 | : Datenbank-Verbindung, welche in der Verwaltung vor konfiguriert wurde. | ||
15 | ; SQL Anweisung | ||
16 | : Textfeld für die SQL Anweisung. | ||
17 | |||
18 | == Aktionsplatzhalter == | ||
19 | |||
20 | Aktionen vom Typ //Datenbank-Abfrage// stellen [[Aktionsplatzhalter>>Formcycle.UserInterface.Variables||anchor="Aktionsplatzhalter"]] bereit, welche in darauf folgenden Aktionen verwendet werden können. | ||
21 | |||
22 | === Standardplatzhalter === | ||
23 | |||
24 | ; [%$<Aktionsname>.SUCCESS%] | ||
25 | : Rückgabe ob Aktion erfolgreich ausgeführt wurde. Liefert Boolean (true/false) zurück. | ||
26 | ; [%$<Aktionsname>.RESULT%] | ||
27 | : Rückgabe aller von der Aktion bereitgestellten Ergebnisse in strukturierter Form. | ||
28 | |||
29 | ; [%$<Aktionsname>.ERROR_CODE%] | ||
30 | : Der geworfene Fehler-Code im Fehlerfall der Aktion. Leer wenn kein Fehler aufgetreten ist. | ||
31 | ; [%$<Aktionsname>.ERROR_MESSAGE%] | ||
32 | : Die geworfene Fehler-Nachricht im Fehlerfall der Aktion. Leer wenn kein Fehler aufgetreten ist. | ||
33 | |||
34 | === Aktionsspezifische Platzhalter === | ||
35 | |||
36 | ; [%$<Aktionsname>.RESULT.rows[i]['key']%] | ||
37 | : Ein JSON-Array mit den Ergebnissen des SQL-Statements. Jeder Eintrag im JSON-Array ist ein JSON-Objekt, wobei der Schlüssel dem Namen der Datenbankspalte entspricht. | ||
38 | ; [%$<Aktionsname>.RESULT.updateCount%] | ||
39 | : Für ein Update-Statement: die Anzahl der betroffenen Zeilen in der Datenbank. Ansonsten ist der Wert immer 0. | ||
40 | |||
41 | == Hinweis == | ||
42 | |||
43 | Das eingegebene Statement wird als //Prepared-Statement// ausgeführt, so dass keine sogenannte //SQL-Injection// moglich ist. Verwenden Sie daher auch keine Hochkommas. | ||
44 | |||
45 | (% style="color: rgb(56, 118, 29);" %)**Richtig** | ||
46 | |||
47 | {{code language="sql"}} | ||
48 | INSERT INTO test_tabelle (vorname, nachname) values ([%tfVorname%], [%tfName%]) | ||
49 | {{/code}} | ||
50 | |||
51 | (% style="color: rgb(204, 0, 0);" %)**Falsch** | ||
52 | |||
53 | {{code language="sql"}} | ||
54 | INSERT INTO test_tabelle (vorname, nachname) values ('[%tfVorname%]', '[%tfName%]') | ||
55 | {{/code}} |