sqlite_udf_decode_binary
(PHP 5)
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
Ejemplo 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'));
?>
|
|