pg_escape_bytea

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_escape_bytea Escapar un string para insertarlo en un campo bytea

Descripción

pg_escape_bytea ([ resource $connection ], string $data ) : string

pg_escape_bytea() escapa un string para un tipo de dato bytea. Devuelve un string pasado por un proceso de escape.

Nota:

Cuando haces una consulta SELECT a un tipo bytea, PostgreSQL devuelve valores de byte octal con el prefijo '\' (ej. \032). Los usuarios están supuestos a convertirlo de regreso al formato binario manualmente.

Esta función requiere PostgreSQL versión 7.2 o posterior. Con la versión 7.2.0 y 7.2.1 de PostgreSQL, los valores bytea deben ser pasados por un casteo cuando se habilita soporte multi-byte. Ej. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea); PostgreSQL 7.2.2 o una versión posterior no necesita un casteo. La excepción es cuando la codificación de caracteres del cliente y del servidor no coinciden, y podría haber un flujo de error multi-byte. Entonces el usuario debe castear a bytea para evitar este error.

Parámetros

connection

Recurso de conexión a la base de datos PostgreSQL. Cuando el parámetro connection no está presente, se utiliza la conexión predeterminada. La conexión predeterminada es la última conexión hecha por pg_connect() o pg_pconnect().

data

Un tipo de dato string que contiene datos de texto o binarios para ser insertados dentro de una columna bytea.

Valores devueltos

Un tipo de dato string que contiene los datos que han sido escapados.

Historial de cambios

Versión Descripción
5.2.0 Se agregó el parámetro connection

Ejemplos

Ejemplo #1 Ejemplo de pg_escape_bytea()

<?php 
  
// Connectar a la base de datos
  
$dbconn pg_connect('dbname=foo');
  
  
// Leer en un fichero binario
  
$data file_get_contents('image1.jpg');
  
  
// Escapar el dato binario
  
$escaped pg_escape_bytea($data);
  
  
// Insertarlo en la base de datos
  
pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')");
?>

Ver también