SQLite (PDO)
PHP Manual

PDO::sqliteCreateFunction

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

PDO::sqliteCreateFunctionSQL deyimlerinde kullanmak üzere bir kullanıcı tanımlı işlevi kayda geçirir

Açıklama

bool PDO::sqliteCreateFunction ( string $işlev_adı , callback $geriçağırım [, int $değ_sayısı ] )
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu riski göze alamayacaksanız bu işlevi kullanmayın.

SQL deyimlerinde kullanmak üzere bir kullanıcı tanımlı işlevi kayda geçirir.

Kullanıcı tanımlı işlevler, işlev çağırabilen SQL deyimlerinde kulllanılır. SELECT ve UPDATE deyimlerinden başka tetikleyiciler de işlev çağırabilmektedir.

Değiştirgeler

işlev_adı

SQL deyiminde kullanılacak işlevin adı.

geriçağırım

Tanımlanan SQL işlevini elde edecek geriçağırım işlevi.

Bilginize: Geriçağırım işlevlerinin SQLite'ın tanıdığı veri türlerini döndürmesi gerekir (bir sayıl tür gibi).

değ_sayısı

Geriçağırım işlevi belli sayıda değiştirge gerektiriyorsa SQLite çözümleyiciye bir ipucu vermek için kullanılır.

Dönen Değerler

Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.

Örnekler

Örnek 1 - PDO::sqliteCreateFunction() örneği

<?php
function md5_and_reverse($string)
{
    return 
strrev(md5($string));
}

$db = new PDO('sqlite:sqlitedb');
$db->sqliteCreateFunction('md5rev''md5_and_reverse'1);
$rows $db->query('SELECT md5rev(filename) FROM files')->fetchAll();
?>

Bu örnekte, bir dizgenin MD5 toplamını hesaplayıp bunu ters çeviren bir işlev tanımlanmaktadır. SQL deyimi çalıştırıldığında işlevimiz dosya isminin dönüştürülmüş değerini döndürmektedir. $rows sonucu içerecektir.

Bu tekniğin güzel tarafı veriyi sorguladıktan sonra sonucu işlemek için bir foreach döngüsü kullanımını gerektirmemesidir.

İpucu

PDO::sqliteCreateFunction() ve PDO::sqliteCreateAggregate() işlevlerini yerleşik SQLite SQL işlevlerini geçersiz kılmak için kullanabilirsiniz.

Bilginize:

Bu yöntem, SQLite2 sürücüsü ile kullanılamaz; eski tarz SQLite arayüzünü kullanmalısınız.

Ayrıca Bakınız


SQLite (PDO)
PHP Manual