(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_escape_bytea — Escapa uma string para inserção em um campo bytea
pg_escape_bytea() escapa string para o tipo de dados bytea. Ele retorna uma string com escape.
Nota:
Quando seleciona-se um tipo bytea com
SELECT
, o PostgreSQL retorna valores de bytes octais prefixados com '\' (por exemplo, \032). Os usuários devem converter de volta para o formato binário manualmente.Esta função requer PostgreSQL 7.2 ou posterior. Com PostgreSQL 7.2.0 e 7.2.1, os valores bytea devem ser convertidos quando você ativa o suporte multibyte. ou seja,
INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea);
PostgreSQL 7.2.2 ou posterior não precisa de conversão. A exceção é quando a codificação de caracteres do cliente e do backend não corresponde e pode haver erro de fluxo de vários bytes. O usuário deve então converter para bytea para evitar esse erro.
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 foi descontinuado.
data
Uma string contendo texto ou dados binários a serem inseridos em uma coluna bytea.
Uma string contendo o dado escapado.
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 Exemplo de pg_escape_bytea()
<?php
// Conecta ao banco de dados
$dbconn = pg_connect('dbname=foo');
// Lê em um arquivo binário
$data = file_get_contents('image1.jpg');
// Escapa o dado binário
$escaped = pg_escape_bytea($data);
// Insere-o no banco de dados
pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')");
?>