PHP Doku:: Registriert eine benutzerdefinierte Funktion (UDF) zur Nutzung in SQL-Anfragen - function.pdo-sqlitecreatefunction.html

Verlauf / Chronik / History: (3) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAbstraktionsebenenPHP Data ObjectsPDO TreiberSQLite Functions (PDO_SQLITE)PDO::sqliteCreateFunction

Ein Service von Reinhard Neidl - Webprogrammierung.

SQLite Functions (PDO_SQLITE)

<<PDO::sqliteCreateAggregate

Anbieterspezifische Datenbankerweiterungen>>

PDO::sqliteCreateFunction

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

PDO::sqliteCreateFunction Registriert eine benutzerdefinierte Funktion (UDF) zur Nutzung in SQL-Anfragen

Beschreibung

bool PDO::sqliteCreateFunction ( string $function_name , callback $callback [, int $num_args ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Diese Methode erlaubt es, eine PHP-Funktion als eine benutzerdefinierte Funktion (UDF) in SQLite zu registrieren, die dann in einer SQL-Anfrage aufgerufen werden kann.

Die UDF kann nun in jeder SQL-Anfrage genutzt werden, die Funktionen aufrufen kann, wie SELECT und UPDATE und auch in Triggern.

Parameter-Liste

function_name

Der Name der Function, der in SQL-Anfragen genutzt wird.

callback

Die Callback-Funktion, die die definierte SQL-Funktion verarbeitet.

Hinweis: Die Callback-Funktionen sollten einen Typen zurückgeben, der von SQLite verstanden wird, z.B. Skalar Typ.

num_args

Hinweis für den SQLite-Parser, ob die Callback-Funktion eine bestimmte Anzahl an Parametern erwartet.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 PDO::sqliteCreateFunction()-Beispiel

<?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();
?>

In diesem Beispiel beschreiben wir eine Funktion, die die md5-Checksumme einer Zeichenkette berechnet und anschließend wird die Checksumme umgekehrt. Aufgerufen durch die SQL-Anfrage, gibt sie den durch die Funktion geänderten Dateinamen zurück. Die Rückgabewerte der Funktion werden in $rows gespeichert.

Das Praktische an dieser Technik ist, dass das Ergebnis der Abfrage nicht in einer foreach-Schleife nachbearbeitet werden muss.

Tipp

Sie können PDO::sqliteCreateFunction und PDO::sqliteCreateAggregate nutzen, um SQLites native SQL-Funktionen zu überschreiben.

Hinweis:

Diese Methode ist im SQLite2-Treiber nicht verfügbar. Benutzen Sie stattdessen die alte SQLite-API.

Siehe auch


Keine BenutzerBeiträge.
- Beiträge aktualisieren...



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)