| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
sqlite_create_functionSQLiteDatabase::createFunction(PHP 5 < 5.4.0, sqlite >= 1.0.0) sqlite_create_function -- SQLiteDatabase::createFunction — SQLステートメントで使用するために"通常の"ユーザー定義関数を登録する 説明
public void sqlite_create_function
( resource
$dbhandle
, string $function_name
, callable $callback
[, int $num_args = -1
] )オブジェクト指向型 (メソッド):
void SQLiteDatabase::createFunction
( string
$function_name
, callable $callback
[, int $num_args = -1
] )sqlite_create_function() により、SQLiteにPHP関数 をUDF (ユーザー定義関数)として登録することが可能で す。この関数は、SQLステートメントの中からコールできます。 UDFは、SELECTおよびUPDATEステートメント、そして、トリガーの中のよう に関数をコールできる全てのSQLステートメントで使用可能です。 パラメータ
返り値値を返しません。 例
例1 sqlite_create_function() の例
<?php
この例では、文字列のMD5サムを計算し、順番を反転する関数が記述されています。
このSQLステートメントが実行された場合、
関数により変換されたファイル名の値を返します。
この技術の美しいところは、データのクエリーを実行した後で foreach ループにより結果を処理する必要がないことです。 PHP は、データベースが最初にオープンされる際に php という名前の特別な関数を登録します。 このphp関数は、事前に登録することなしにあらゆるPHP関数をコールする ために使用可能です。
例2 PHP 関数の使用例
<?php
この例は、データベースの各 filename カラムにつ
いて md5() をコールし、その結果を
ヒント
適用するアプリケーションの主要な要求が高い性能でない限り、バイナリ データの処理を行うためにUDFを使用することは推奨されません。 ヒント
SQLiteのネーティブSQL関数をオーバーライドするために sqlite_create_function()および sqlite_create_aggregate()も使用可能です。 |
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「sqlite_create_function - SQLステートメントで使用するために"通常の"ユーザー定義関数を登録する」をGoogle検索
|