pg_escape_bytea
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_escape_bytea — Escapa uma string para inserção em um campo bytea
Descrição
pg_escape_bytea() escapa string para o tipo de dados bytea. Ele retorna uma string com escape.
Note:
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.
Parâmetros
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().WarningA partir do PHP 8.1.0, usar a conexão padrão tornou-se defasado.
data
-
Uma string contendo texto ou dados binários a serem inseridos em uma coluna bytea.
Valor Retornado
Uma string contendo o dado escapado.
Registro de Alterações
Versão | Descrição |
---|---|
8.1.0 |
O parâmetro connection agora espera uma instância de PgSql\Connection;
anteriormente, um resource era esperado.
|
Exemplos
Example #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}')");
?>
Veja Também
- pg_unescape_bytea() - Desfaz escape binário para tipo bytea
- pg_escape_string() - Escapa uma string para consulta