Wiki-Quellcode von Datenbank-Abfrage
Verstecke letzte Bearbeiter
| author | version | line-number | content |
|---|---|---|---|
| |
8.2 | 1 | {{figure image="db_statement_de.png" width="400" clear="h1"}} |
| |
6.1 | 2 | Nutzeroberfläche für Aktionen vom Typ //Datenbank-Abfrage//. |
![]() |
1.1 | 3 | {{/figure}} |
| 4 | |||
| |
6.1 | 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. |
![]() |
1.1 | 6 | |
| 7 | == Parameter == | ||
| 8 | |||
| |
6.1 | 9 | === Details der Datenbank-Abfrage === |
![]() |
1.1 | 10 | |
| |
6.1 | 11 | ; Konfigurierte DB-Abfrage nutzen? |
| |
7.4 | 12 | : Wenn diese Option ausgewählt wird, kann eine im Backend vorkonfigurierte DB-Abfrage ausgewählt werden. Zusätzlichen werden Details zur Abfrage angezeigt. |
| |
7.5 | 13 | ; Verbindung |
| 14 | : Datenbank-Verbindung, welche in der Verwaltung vor konfiguriert wurde. | ||
| |
6.1 | 15 | ; SQL Anweisung |
| 16 | : Textfeld für die SQL Anweisung. | ||
| 17 | |||
| |
6.3 | 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 | |||
| |
7.3 | 36 | ; [%$<Aktionsname>.RESULT.rows[i]['key']%] |
| |
9.1 | 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. Der Index i beginnt mit 0. |
| |
7.3 | 38 | ; [%$<Aktionsname>.RESULT.updateCount%] |
| |
7.2 | 39 | : Für ein Update-Statement: die Anzahl der betroffenen Zeilen in der Datenbank. Ansonsten ist der Wert immer 0. |
| 40 | |||
![]() |
1.1 | 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 | |||
| |
9.1 | 45 | (% style="color:#38761d" %)**Richtig** |
![]() |
1.1 | 46 | |
| 47 | {{code language="sql"}} | ||
| 48 | INSERT INTO test_tabelle (vorname, nachname) values ([%tfVorname%], [%tfName%]) | ||
| 49 | {{/code}} | ||
| 50 | |||
| |
9.1 | 51 | (% style="color:#cc0000" %)**Falsch** |
![]() |
1.1 | 52 | |
| 53 | {{code language="sql"}} | ||
| 54 | INSERT INTO test_tabelle (vorname, nachname) values ('[%tfVorname%]', '[%tfName%]') | ||
| 55 | {{/code}} |
