范例
Example #1 sqlite_create_function() example
{
returnstrrev(md5($string));
}
if ($dbhandle=sqlite_open('mysqlitedb',0666,$sqliteerror)) {sqlite_create_function($dbhandle,'md5rev','md5_and_reverse',1);$sql='SELECT md5rev(filename) FROM files';$rows=sqlite_array_query($dbhandle,$sql);
} else {
echo'Error opening sqlite db: '.$sqliteerror;
exit;
}?>
In this example, we have a function that calculates the md5 sum of a
string, and then reverses it. When the SQL statement executes, it
returns the value of the filename transformed by our function. The data
returned in $rows contains the processed result.
The beauty of this technique is that you do not need to process the
result using a foreach loop after you have queried for the data.
PHP registers a special function named php when the
database is first opened. The php function can be used to call any PHP
function without having to register it first.
Example #2 Example of using the PHP function
$rows=sqlite_array_query($dbhandle,"SELECT php('md5', filename) from files");?>
This example will call the filename column in the database and return the result
into $rows
Note:
For performance reasons, PHP will not automatically encode/decode binary
data passed to and from your UDF's. You need to manually encode/decode
the parameters and return values if you need to process binary data in
this way. Take a look at
Tip
It is not recommended to use UDF's to handle processing of
binary data, unless high performance is not a key requirement of your
application.
Tip
You can use sqlite_create_function() and