Führt einen SQL-Select-Befehl a auf der Datenbank aus, die durch den Alias b repräsentiert wird. Im Statement hinterlegte Platzhalter der Form &Parameternummer werden durch die Werte ab Parameter c bis j ersetzt. Zeichen, die für eine gültige Syntax des Statements erforderlich sind (zum Beispiel Hochkommas um Zeichenketten) müssen bereits im Statement enthalten sein. Die Menge an selektierten Ergebniszeilen wird automatisch auf 1 beschränkt.
Liefert die Datenbank eine Ergebniszeile, gibt die Funktion den Wert der ersten Spalte zurück. Andernfalls gibt sie k zurück.
Enthält die Ergebnismenge Spalten vom Typ BLOB, steuert Parameter l die Codierung. Setzen Sie l auf true, um die Binärdaten Base64-kodiert in die Ergebnislisten zu schreiben. Andernfalls bleiben die Daten unverändert. Gibt es keine solchen Spalten in der Ergebnismenge, hat der Wert des Parameters keinen Effekt.
WICHTIG: Neben der Schreibweise &Parameternummer gibt es auch die Schreibweise für Prepared Statements in der Form @Parameternummer:Parametertyp@. Bevorzugen Sie Prepared Statements, denn sie verhindern SQL Injection Attacks.
Parameter
Parameter | Beschreibung |
|---|---|
a | Auszuführendes SQL-Statement. |
b | Der Datenbank-Alias. |
c | (optional) Parameter |
d | (optional) Parameter |
e | (optional) Parameter |
f | (optional) Parameter |
g | (optional) Parameter |
h | (optional) Parameter |
i | (optional) Parameter |
j | (optional) Parameter |
k | (optional) Rückgabewert, wenn die Datenbank kein Ergebnis liefert. |
l | (optional) |
m | (optional) |
n | (optional) Falls |
Beispiele
Gegeben sei eine Tabelle zipcodes, die die Postleitzahlen von Deutschland enthält (insgesamt imaginäre 20000 Einträge).
Parameter a | b | c | d-j | k | l | m | n | Ergebnis |
|---|---|---|---|---|---|---|---|---|
| testdb | unbekannt | 01067 | |||||
| testdb | 80336 | unbekannt | München | ||||
| testdb | 00000 | unbekannt | unbekannt | ||||
| testdb | 80336 | unbekannt | München | ||||
| testdb | 00000 | unbekannt | unbekannt | ||||
| testdb | root | geheim | unbekannt | 4711 | |||
| testdb | root |
| unbekannt | 4711 | |||
| testdb | root |
| unbekannt | unbekannt | |||
| testdb | root | geheim | unbekannt | Fehler, da Textliterale in Hochkommas stehen müssen. |