Pdo\Sqlite::createFunction
Pdo\Sqlite::createFunction
(PHP 8 >= 8.4.0)
Pdo\Sqlite::createFunction — Registrerar en användardefinierad funktion för användning i SQL-frågor.
Beskrivning
public Pdo\Sqlite::createFunction(
string $function_name, callable $callback, int $num_args = -1, int $flags = 0
): bool
Denna metod tillåter PHP-funktioner att registreras med SQLite som användardefinierade funktioner. Dessa funktioner kan sedan anropas i SQL-frågor, till exempel i SELECT, UPDATE eller triggers.
Tips: Genom att använda denna metod kan inbyggda SQL-funktioner åsidosättas.
Parametrar
- function_name
- Namnet på funktionen som ska användas i SQL-frågor.
- callback
- Callback-funktion som hanterar den definierade SQL-funktionen.
- Funktionen bör returnera en typ som SQLite förstår (t.ex. skalärtyp).
- Funktionens definition:
callback(mixed $value, mixed ...$values): mixed
- value: Det första argumentet som skickas till SQL-funktionen.
- values: Ytterligare argument som skickas till SQL-funktionen.
- num_args
- Antalet argument som SQL-funktionen tar. Om detta är -1 kan SQL-funktionen ta ett godtyckligt antal argument.
- flags
- En bitmask av flaggor. För närvarande stöds endast Pdo\Sqlite::DETERMINISTIC, vilket anger att funktionen alltid returnerar samma resultat för samma indata inom ett enskilt SQL-uttryck.
Returvärden
Returnerar true vid framgång eller false vid misslyckande.
Exempel
Exempel 1: Pdo\Sqlite::createFunction()
<?php function sha256_and_reverse($string) { return strrev(hash('sha256', $string)); } $db = new Pdo\Sqlite('sqlite::sqlitedb'); $db->sqliteCreateFunction('sha256rev', 'sha256_and_reverse', 1); $rows = $db->query('SELECT sha256rev(filename) FROM files')->fetchAll(); ?>
I detta exempel skapas en funktion som beräknar SHA256-hashvärdet för en sträng och sedan vänder det. När SQL-uttrycket exekveras returnerar det värdet av filnamnet som bearbetats av funktionen.
Se även
- Pdo\Sqlite::createAggregate — Registrerar en aggregerande användardefinierad funktion för användning i SQL-frågor.
- Pdo\Sqlite::createCollation — Registrerar en användardefinierad funktion som kollationsfunktion i SQL-frågor.
- sqlite_create_function()
- sqlite_create_aggregate()
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/pdo-sqlite.createfunction.php
PHP
Funktioner
Funktionsreferens
Databas-tillägg
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp Huddinge som har sponsrat Linux.se med webbhotell.