Forum und email

sqlite_udf_decode_binary

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_udf_decode_binary — Décode des données binaires, passées à une UDF SQLite

Description

string sqlite_udf_decode_binary ( string $data )

sqlite_udf_decode_binary() décode des données binaires, qui auraient été encodées avec sqlite_udf_encode_binary() ou sqlite_escape_string().

Vous devez appeler cette fonction sur les paramètres passés à votre UDF, si vous devez manipuler des données binaires, car le codage binaire de PHP va masquer le contenu original de la donnée.

PHP ne fait pas cette opération de codage/décodage automatiquement, car cela réduirait considérablement les performances.

Exemples

Example#1 Exemple de fonction d'agrégation SQLite, compatible avec les données binaires

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

?>