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

Exemple 2509.  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' ));

?>

Voir aussi

sqlite_udf_encode_binary()
sqlite_create_function()
sqlite_create_aggregate()