pg_escape_literal

(PHP 5 >= 5.4.4, PHP 7, PHP 8)

pg_escape_literal Escapa um literal para inserção em um campo de texto

Descrição

pg_escape_literal(PgSql\Connection $connection = ?, string $data): string

pg_escape_literal() escapa um literal para consultar o banco de dados PostgreSQL. Ele retorna um literal de escape no formato PostgreSQL. pg_escape_literal() adiciona aspas antes e depois dos dados. Os usuários não devem adicionar aspas. O uso desta função é recomendado em vez de pg_escape_string(). Se o tipo da coluna for bytea, pg_escape_bytea() deverá ser usado no lugar. Para identificadores de escape (por exemplo, tabelas, nomes de campos), pg_escape_identifier() deve ser usado.

Note:

Esta função possui código de escape interno e também pode ser usada com PostgreSQL 8.4 ou inferior.

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 a ser escapado.

Valor Retornado

Uma string contendo os dados escapados.

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

<?php
  // Conecta ao banco de dados
  $dbconn = pg_connect('dbname=foo');

  // Lê um arquivo de texto (contendo apóstrofos e barras invertidas)
  $data = file_get_contents('letter.txt');

  // Escapa dos dados de texto
  $escaped = pg_escape_literal($data);

  // Insere-o no banco de dados. Observe que não há aspas em torno de {$escaped}
  pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', {$escaped})");
?>

Veja Também