(PHP 4 >= 4.2.0, PHP 5, PHP 7)
pg_escape_bytea — Escapar un string para insertarlo en un campo bytea
$connection
], string $data
)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.
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.
Un tipo de dato string que contiene los datos que han sido escapados.
Versión | Descripción |
---|---|
5.2.0 | Se agregó el parámetro connection |
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}')");
?>