SQLite3::createFunction

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::createFunctionEnregistre une fonction PHP à utiliser comme function scalaire SQL

Description

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

Enregistre une fonction PHP ou une fonction utilisateur à utiliser comme fonction scalaire SQL, pour utilisation dans les requête SQL.

Liste de paramètres

name

Nom de la fonction SQL à créer ou à redéfinir.

callback

Le nom de la fonction PHP ou la fonction utilisateur à appliquer comme callback, définissant le comportement de la fonction SQL.

Cette fonction doit être définit comme :

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

Le premier argument à passer à la fonction SQL.

...

Arguments supplémentaires à passer à la fonction SQL.

argument_count

Nombre d'arguments que la fonction SQL prend. Si ce paramètre est -1, la fonction SQL peut prendre n'importe quel nombre d'arguments.

flags

Une conjonction d'opérations de bits d'indicateurs. Actuellement, seul PDO::SQLITE_DETERMINISTIC est pris en charge, ce qui spécifie que la fonction retourne toujours le même résultat étant donné les mêmes entrées dans une seule instruction SQL.

Valeurs de retour

Retourne TRUE si la fonction a été créée avec succès, FALSE si une erreur survient.

Historique

Version Description
7.1.4 Le paramètre flags a été ajouté.

Exemples

Exemple #1 Exemple avec SQLite3::createFunction()

<?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")'));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(32) "098f6bcd4621d373cade4e832627b4f6"