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(PgSql\Connection $connection = ?, string $data): string

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().

Warning

A 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