PDO::sqliteCreateFunction

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo_sqlite >= 1.0.0)

PDO::sqliteCreateFunction — Реєстрація функції користувача для використання в SQL-запитах

Опис

public PDO::sqliteCreateFunction(    string $function_name,    callable $callback,    int $num_args = -1,    int $flags = 0): bool

Увага

Ця функція є ЕКСПЕРИМЕНТАЛЬНОЇ. Поведінка цієї функції, її ім'я та документація, що до неї належить, можуть змінитися в наступних версіях PHP без повідомлення. Використовуйте цю функцію на свій страх та ризик.

Цей метод дозволяє вам реєструвати функцію PHP як функцію користувача SQLite (User Defined Function, UDF), що дозволить використовувати її в SQL-запитах.

UDF можна використовувати в будь-якому SQL-запиті, в якому дозволяється використовувати функції, наприклад, SELECT, UPDATE, а також у тригерах.

Список параметрів

function_name

Ім'я функції для використання у запитах.

callback

Функція зворотного дзвінка для обробки дзвінків SQL-функції.

Зауваження: Функція зворотного виклику повинна повертати значення зрозумілого типу SQLite (тобто скалярного типу

Ця функція має бути визначена так:

callback(mixed $value, mixed ...$values): mixed

value

Перший аргумент, що передається в SQL-функцію.

values

Подальші аргументи.

num_args

Кількість аргументів, які приймає функція. Якщо поставити рівним -1, то функція буде приймати будь-яку кількість аргументів.

flags

Побітова кон'юнкція (АБО) прапорів. На даний момент підтримується лише прапор **PDO::SQLITE_DETERMINISTIC**що визначає те, що функція завжди повертає однаковий результат для однакових вхідних значень.

Значення, що повертаються

Повертає true у разі успішного виконання або **false**в случае возникновения ошибки.

список змін

ВерсияОпис
7.1.4Добавлен параметрflags

Приклади

Приклад #1 Приклад використання PDO::sqliteCreateFunction()****

Loading...

У цьому прикладі ми визначили функцію, що обчислює md5 суму рядка і перевертає її. Коли SQL-запит буде запущений, отримані значення filename будуть перетворені цією функцією. Результуючий набір $rows міститиме перетворені значення.

Краса такого підходу полягає в тому, що вам не потрібно після отримання результуючого набору пробігатися по ньому циклом. foreach для обчислення необхідних значень.

Підказка

Ви можете використовувати PDO::sqliteCreateFunction і PDO::sqliteCreateAggregate для перевизначення стандартних функцій SQLite, що агрегують.

Дивіться також