(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_escape_bytea — Escape a string for insertion into a bytea field
pg_escape_bytea() escapes string for bytea datatype. It returns escaped string.
Nota:
When you
SELECT
a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032). Users are supposed to convert back to binary format manually.This function requires PostgreSQL 7.2 or later. With PostgreSQL 7.2.0 and 7.2.1, bytea values must be cast when you enable multi-byte support. i.e.
INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea);
PostgreSQL 7.2.2 or later does not need a cast. The exception is when the client and backend character encoding does not match, and there may be multi-byte stream error. User must then cast to bytea to avoid this error.
connection
Uma instância de PgSql\Connection. Quando o parâmetro connection
não for especificado, a conexão padrão será usada. A conexão padrão é a última conexão feita por pg_connect() ou pg_pconnect().
A partir do PHP 8.1.0, usar a conexão padrão tornou-se defasado.
data
A string containing text or binary data to be inserted into a bytea column.
A string containing the escaped data.
Versão | Descrição |
---|---|
8.1.0 | O parâmetro connection agora espera uma instância de PgSql\Connection; anteriormente, um resource era esperado. |
Exemplo #1 pg_escape_bytea() example
<?php
// Connect to the database
$dbconn = pg_connect('dbname=foo');
// Read in a binary file
$data = file_get_contents('image1.jpg');
// Escape the binary data
$escaped = pg_escape_bytea($data);
// Insert it into the database
pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')");
?>