PDO::sqliteCreateFunction
Référence une fonction définie par l'utilisateur pour une utilisation dans les requêtes SQL
&reftitle.description;
PDOboolsqliteCreateFunctionstringfunction_namecallbackcallbackintnum_args
&warn.experimental.func;
Cette méthode vous permet de référencer
une fonction PHP avec SQLite comme étant un UDF
(User Defined Function), de telle façon qu'elle
puisse être appelée à l'intérieur de vos requêtes SQL.
Un UDF peut être utilisé dans n'importe quelle requête SQL qui peut appeler
des fonctions, par exemple les requêtes SELECT et UPDATE mais aussi dans les
marqueurs.
&reftitle.parameters;
function_name
Le nom de la fonction utilisé dans les requêtes SQL.
callback
Fonction de rappel pour manipuler la fonction SQL définie.
Les fonctions de rappel devraient retourner un type connu par SQLite
(c'est-à-dire type scalaire).
num_args
Conseil à l'analyseur SQLite si la fonction de rappel accepte un nombre
prédéterminé d'arguments.
&reftitle.returnvalues;
&return.success;
&reftitle.examples;
Exemple avec PDO::sqliteCreateFunction
sqliteCreateFunction('md5rev', 'md5_et_renverse', 1);
$rows = $db->query('SELECT md5rev(filename) FROM files')->fetchAll();
?>
]]>
Dans cet exemple, nous avons une fonction qui calcule la somme MD5 de la
chaîne de caractères et la renverse ensuite. Lorsque la requête SQL
s'exécute, elle retourne la valeur du nom du fichier transformée par notre
fonction. Les données retournées dans $rows
contiennent le résultat traité.
La beauté de cette technique est que vous n'avez pas à traiter le résultat
en utilisant une boucle &foreach; après que vous ayez récupéré les données.
Vous pouvez utiliser et
pour surcharger les
fonctions natives de SQL.
Cette méthode n'est pas disponible avec les pilotes de SQLite2.
Utilisez l'ancien style de l'API sqlite à la place.
&reftitle.seealso;
sqlite_create_functionsqlite_create_aggregate