sqlite_udf_decode_binary

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_udf_decode_binaryDekodiert Binärdaten und reicht diese als Parameter weiter zu einer benutzerdefinierten Funktion (UDF)

Beschreibung

sqlite_udf_decode_binary ( string $data ) : string

sqlite_udf_decode_binary() dekodiert die Binärkodierung der Parameter, die entweder mit sqlite_udf_encode_binary() oder sqlite_escape_string() durchgeführt wurde.

Parameter, die an eine UDF übergeben wurden und Binärdaten enthalten könnten, sollte mit dieser Funktion aufgerufen werden. Ansonsten würden die binären Information durch die im PHP implementierte Kodierung in ihrer natürlichen und nicht kodierten Form verändert werden.

PHP führt diese (De-)Kodieraufrufe nicht automatisch durch, da dieses die Performance drastig beeinflussen würde.

Parameter-Liste

data

Die kodierte Zeichenkette, die dekodiert werden. Diese wurde entweder von sqlite_udf_encode_binary() oder sqlite_escape_string() erzeugt.

Rückgabewerte

Die dekodierte Zeichenkette (string).

Beispiele

Beispiel #1 Beispiel für eine binärsichere max_length Summenfunktion

<?php
$data 
= array(
   
'one',
   
'two',
   
'three',
   
'four',
   
'five',
   
'six',
   
'seven',
   
'eight',
   
'nine',
   
'ten',
   );
$db sqlite_open(':memory:');
sqlite_query($db"CREATE TABLE strings(a)");
foreach (
$data as $str) {
    
$str sqlite_escape_string($str);
    
sqlite_query($db"INSERT INTO strings VALUES ('$str')");
}

function 
max_len_step(&$context$string
{
    
$string sqlite_udf_decode_binary($string);
    if (
strlen($string) > $context) {
        
$context strlen($string);
    }
}

function 
max_len_finalize(&$context
{
    return 
$context;
}

sqlite_create_aggregate($db'max_len''max_len_step''max_len_finalize');

var_dump(sqlite_array_query($db'SELECT max_len(a) from strings'));

?>

Siehe auch