pg_escape_bytea

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

pg_escape_bytea Protege una cadena para insertarla en un campo bytea

Descripción

pg_escape_bytea(PgSql\Connection $connection = ?, string $data): string

pg_escape_bytea() protege los caracteres de la cadena data con el modo bytea. La cadena protegida es devuelta.

Nota:

Cuando se utiliza una orden SELECT con datos de tipo bytea, PostgreSQL devuelve valores octales, prefijados con antislashs '\' (por ejemplo \032). Los usuarios deben realizar la conversión al formato binario manualmente.

pg_escape_bytea() requiere PostgreSQL 7.2 o más reciente. Con PostgreSQL 7.2.0 y 7.2.1, los datos bytea deben ser transtipados cuando se activa el soporte de strings multioctetos. Es decir, INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea);. PostgreSQL 7.2.2 o más reciente no requiere esta manipulación. Sin embargo, si el cliente y el servidor no utilizan el mismo juego de caracteres, pueden ocurrir errores. Entonces, se debe forzar el transtipado manualmente.

Parámetros

connection

An PgSql\Connection instance. When connection is unspecified, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Advertencia

As of PHP 8.1.0, using the default connection is deprecated.

data

Una string que contiene texto o datos binarios que serán insertados en la columna bytea.

Valores devueltos

Una string que contiene los datos escapados.

Historial de cambios

Versión Descripción
8.1.0 The connection parameter expects an PgSql\Connection instance now; previously, a recurso was expected.

Ejemplos

Ejemplo #1 Ejemplo con pg_escape_bytea()

<?php
// Conexión a la base de datos
$dbconn = pg_connect('dbname=foo');

// Lectura de un fichero binario
$data = file_get_contents('image1.jpg');

// Escapado de los datos binarios
$escaped = pg_escape_bytea($data);

// Inserción en la base de datos
pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')");
?>

Ver también