PDO::sqliteCreateFunction
Registriert eine benutzerdefinierte Funktion (UDF) zur Nutzung in SQL-Anfragen
&reftitle.description;
PDOboolsqliteCreateFunctionstringfunction_namecallbackcallbackintnum_args
&warn.experimental.func;
Diese Methode erlaubt es, eine PHP-Funktion als eine benutzerdefinierte Funktion
(UDF) in SQLite zu registrieren, die dann in einer SQL-Anfrage
aufgerufen werden kann.
Die UDF kann nun in jeder SQL-Anfrage genutzt werden, die Funktionen aufrufen kann,
wie SELECT und UPDATE und auch in Triggern.
&reftitle.parameters;
function_name
Der Name der Function, der in SQL-Anfragen genutzt wird.
callback
Die Callback-Funktion, die die definierte SQL-Funktion verarbeitet.
Die Callback-Funktionen sollten einen Typen zurückgeben, der von SQLite
verstanden wird, z.B. Skalar Typ.
num_args
Hinweis für den SQLite-Parser, ob die Callback-Funktion eine bestimmte Anzahl
an Parametern erwartet.
&reftitle.returnvalues;
&return.success;
&reftitle.examples;
PDO::sqliteCreateFunction-Beispiel
sqliteCreateFunction('md5rev', 'md5_and_reverse', 1);
$rows = $db->query('SELECT md5rev(filename) FROM files')->fetchAll();
?>
]]>
In diesem Beispiel beschreiben wir eine Funktion, die die md5-Checksumme einer
Zeichenkette berechnet und anschließend wird die Checksumme umgekehrt. Aufgerufen
durch die SQL-Anfrage, gibt sie den durch die Funktion geänderten Dateinamen zurück.
Die Rückgabewerte der Funktion werden in $rows gespeichert.
Das Praktische an dieser Technik ist, dass das Ergebnis der Abfrage nicht in einer
&foreach;-Schleife nachbearbeitet werden muss.
Sie können und
nutzen, um SQLites
native SQL-Funktionen zu überschreiben.
Diese Methode ist im SQLite2-Treiber nicht verfügbar.
Benutzen Sie stattdessen die alte SQLite-API.
&reftitle.seealso;
sqlite_create_functionsqlite_create_aggregate