|
sqlite_create_functionSQLiteDatabase::createFunctionRegistriert eine "reguläre" nutzerdefinierte Funktion für den Gebrauch in SQL-Befehlen Beschreibung
void sqlite_create_function
( resource
$dbhandle
, string $function_name
, callable $callback
[, int $num_args = -1
] )Objektorientierter Stil (Methode):
public void SQLiteDatabase::createFunction
( string
$function_name
, callable $callback
[, int $num_args = -1
] )sqlite_create_function erlaubt Ihnen, eine PHP-Funktion in SQLite als UDF (User Defined Function = Nutzerdefinierte Funktion) zu erzeugen, so dass diese direkt in SQL-Befehlen genutzt werden kann. UDF sind in jedem SQL-Befehl nutzbar, der Funktionsaufrufe wie SELECT, UPDATE oder auch Trigger beinhalten kann. Parameter-Liste
RückgabewerteEs wird kein Wert zurückgegeben. Beispiele
Beispiel #1 sqlite_create_function-Beispiel
<?php
In diesem Beispiel haben wir eine Funktion, die die md5-Summe eines
Strings berechnet und dann rückwärts ausliefert. Wenn der SQL-Befehl
durchgeführt wird, liefert er den Wert der Spalte "filename" durch unsere
Funktion transformiert zurück. Die Daten, die in Die Eleganz dieser Technik ist das Vermeiden des Durchfahrens des kompletten Abfrageergebnisses mit einer foreach-Schleife.
PHP registriert außerdem automatisch eine spezielle Funktion
mit dem Namen php, wenn die Datenbank
Beispiel #2 Beispiel zur Nutzung einer beliebigen PHP-Funktion
<?php
In diesem Beispiel wird die Funktion md5 für
jeden Eintrag der Spalte filename in der Datenbank
aufgerufen und das Ergebnis in
Tipp
Es wird empfohlen, die UDFs nicht für Binärdaten zu nutzen, wenn Ihre Anwendung eine hohe Geschwindigkeit aufweisen soll. Tipp
sqlite_create_function und sqlite_create_aggregate können dazu genutzt werden, native SQlite-Funktionen zu überschreiben. Siehe auch
|