SQLite3::createFunction

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::createFunctionRegistriert eine PHP-Funktion, die als SQL-Skalar-Funktion genutzt werden kann

Beschreibung

public SQLite3::createFunction ( string $name , mixed $callback [, int $argument_count = -1 [, int $flags = 0 ]] ) : bool

Registriert eine PHP- oder benutzerdefinierte Funktion, die als SQL-Skalar-Funktion innerhalb einer SQL-Anweisung genutzt werden kann.

Parameter-Liste

name

Name der SQL-Funktion, die erstellt oder neu definiert werden soll.

callback

Der Name der PHP- oder benutzerdefinierten Funktion, welche als Callback-Funktion agieren soll und das Verhalten der SQL-Funktion definiert.

Diese Funktion muss wie folgt definiert werden:

callback ( mixed $value1 [, mixed $... ] ) : mixed
value1

Das erste Argument, dass an die SQL-Funktion übergeben wurde.

...

Weitere Argumente, die an die SQL-Funktion übergeben wurden.

argument_count

Die Anzahl an Argumenten, die die SQL-Funktion entgegen nimmt. Ist der Parameter gleich -1, ist die SQL-Funktion nicht auf eine Parameteranzahl eingeschränkt.

flags

Ein bitweise Oder-Verknüpfung von Flags. Zurzeit wird nur SQLITE3_DETERMINISTIC unterstützt, das angibt, dass die Funktion in einer einzelnen SQL-Anweisung immer dasselbe Ergebnis für dieselben Eingaben liefert.

Rückgabewerte

Gibt TRUE zurück, wenn die Funktion erfolgreich erstellt wurde. Anderenfalls wird FALSE zurückgegeben.

Changelog

Version Beschreibung
7.1.4 Der flags Parameter wurde hinzugefügt.

Beispiele

Beispiel #1 SQLite3::createFunction()-Beispiel

<?php
function my_udf_md5($string) {
    return 
md5($string);
}

$db = new SQLite3('mysqlitedb.db');
$db->createFunction('my_udf_md5''my_udf_md5');

var_dump($db->querySingle('SELECT my_udf_md5("test")'));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(32) "098f6bcd4621d373cade4e832627b4f6"