SQLite
PHP Manual

sqlite_udf_decode_binary

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_udf_decode_binary — Decodifica los datos binarios que se pasan como parámetro a las funciones FDU (función definida por el usuario)

Descripción

string sqlite_udf_decode_binary ( string $datos )

sqlite_udf_decode_binary() decodifica la codificación binaria aplicada por las funciones sqlite_udf_encode_binary() o sqlite_escape_string().

Se debe utilizar esta función para los parámetros que se pasan a las funciones FDU (función definida por el usuario) si éstos pueden contener datos binarios.

PHP no realiza este proceso de codificación/decodificación de forma automática, ya que esto podría penalizar seriamente el rendimiento de las aplicaciones.

Ejemplos

Example#1 Ejemplo de función max_length segura con datos binarios

<?php
$datos 
= array(
   
'uno',
   
'dos',
   
'tres',
   
'cuatro',
   
'cinco',
   
'seis',
   
'siete',
   
'ocho',
   
'nueve',
   
'diez',
   );
$manejador_bd sqlite_open(':memory:');
sqlite_query($manejador_bd"CREATE TABLE tabla_cadenas(a)");
foreach (
$datos as $cadena) {
    
$cadena sqlite_escape_string($cadena);
    
sqlite_query($manejador_bd"INSERT INTO tabla_cadenas VALUES ('$cadena')");
}

function 
max_longitud_temporal(&$contexto$cadena
{
    
$cadena sqlite_udf_decode_binary($cadena);
    if (
strlen($cadena) > $contexto) {
        
$contexto strlen($cadena);
    }
}

function 
max_longitud_final(&$contexto
{
    return 
$contexto;
}

sqlite_create_aggregate($manejador_bd'max_longitud''max_longitud_temporal''max_longitud_final');

var_dump(sqlite_array_query($manejador_bd'SELECT max_longitud(a) from tabla_cadenas'));

?>

Ver también


SQLite
PHP Manual