Pdo\Sqlite::createFunction Registriert eine benutzerdefinierte Funktion zur Verwendung in SQL-Anweisungen &reftitle.description; public boolPdo\Sqlite::createFunction stringfunction_name callablecallback intnum_args-1 intflags0 This method allows PHP function to be registered with SQLite as a user-defined function, so that it can be called within SQL queries. The defined function can be used in any SQL query that allows function calls, for example SELECT, UPDATE, or triggers. By using this method it is possible to override native SQL functions. &reftitle.parameters; function_name Der Name der Funktion, der in SQL-Anweisungen genutzt wird. callback Die Callback-Funktion, die die definierte SQL-Funktion verarbeitet. Die Callback-Funktionen sollten einen Typ zurückgeben, der von SQLite verstanden wird, &zb; den Skalar-Typ. Diese Funktion muss wie folgt definiert werden: mixedcallback mixedvalue mixedvalues value Das erste Argument, das an die SQL-Funktion übergeben wird. values Weitere Argumente, die an die SQL-Funktion übergeben werden. num_args Die Anzahl von Argumenten, die die SQL-Funktion erwartet. Ist dieser Parameter -1, dann kann die SQL-Funktion eine beliebige Anzahl von Argumenten annehmen. flags Eine Bitmaske von Flags. Zurzeit wird nur Pdo\Sqlite::DETERMINISTIC unterstützt, das angibt, dass die Funktion für dieselben Eingaben innerhalb einer einzelnen SQL-Anweisung immer dasselbe Ergebnis zurückgibt. &reftitle.returnvalues; &return.success; &reftitle.examples; <methodname>Pdo\Sqlite::createFunction</methodname>-Beispiel In diesem Beispiel wird eine Funktion verwendet, die die SHA256-Prüfsumme einer Zeichenkette berechnet und anschließend umgekehrt. Wenn die SQL-Anweisung ausgeführt wird, gibt sie den Wert des von unserer Funktion umgewandelten Dateinamens zurück. Die in $zeilen zurückgegebenen Daten enthalten das verarbeitete Ergebnis. Das Schöne an dieser Technik ist, dass das Ergebnis der Abfrage nicht in einer &foreach;-Schleife nachbearbeitet werden muss. sqliteCreateFunction('sha256rev', 'sha256_und_umkehren', 1); $zeilen = $db->query('SELECT sha256rev(dateiname) FROM dateien')->fetchAll(); ?> ]]> &reftitle.seealso; Pdo\Sqlite::createAggregate Pdo\Sqlite::createCollation sqlite_create_function sqlite_create_aggregate