sqlite_create_function(PHP 5, PECL pdo_sqlite:0.2-0.3 sqlite:1.0-1.0.3) sqlite_create_function — Регистрирует функцию для использования в SQL запросах Описание
bool sqlite_create_function
( resource $dbhandle
, string $function_name
, mixed $callback
[, int $num_args
] )
sqlite_create_function() позволяет зарегистрировать PHP функцию для использования в SQLite в качестве UDF (User Defined Function - функция, определенная пользователем), что позволяет использовать эту функцию в SQL запросах. Аргумент dbhandle задает базу данных, для которой определяется новая функция, function_name - имя функции, которое будкт использоваться в SQL запросах. Аргумент callback задает PHP функцию, которая будет вызываться при обращении к определяемой SQL функции. Необязательный аргумент num_args задает количество аргументов, которое принимает фунция. Рекомендуется всегда передавать этот аргумент, если функция принимает фиксированное количество аргументов. Определенная таким образом функция может быть использована в любом SQL запросе, допускающем использование функций, например SELECT и UPDATE, а также в триггерах.
Пример #1 Пример использования sqlite_create_function()
<?phpВ этом примере мы определяем функцию, которая вычисляет MD5 хэш строки, а затем обращает полученную строку. При выполнении SQL запроса, значение поля filename преобразуется нашей функцией. Массив $rows содержит обработанный результат. Достоинство этой техники в том, что нет необходимости обрабатывать полученный результат в цикле. При открытии базы данных, регистрируется функция с именем php. Эта функция может быть использована для вызова любой функции PHP без регистрации.
Пример #2 Пример использования функции php
<?phpВ этом примере, функция md5() будет вызвана для поля filename в каждой записи.
Подсказка
Не рекомендуется использовать UDF для обработки бинарных данных, за исключением случаев, когда нет необходимости достичь высокого быстродействия. Подсказка
sqlite_create_function() и sqlite_create_aggregate() могут быть использованы для переопределения встроенных функций SQLite. Смотрите такжеSee also sqlite_create_aggregate(). |
|
|
| © 2009 Тест скорости интернета | Boont.Ru |