Pdo\Pgsql::escapeIdentifier

(PHP 8 >= 8.4.0)

Pdo\Pgsql::escapeIdentifierEscapa uma string para uso como identificador SQL

Descrição

public Pdo\Pgsql::escapeIdentifier(string $input): string

Escapa uma string para uso como um identificador SQL, como uma tabela, coluna ou nome de função. Isso é útil quando um identificador fornecido pelo usuário pode conter caracteres especiais que de outra forma não seriam interpretados como parte do identificador pelo analisador SQL ou quando o identificador pode conter caracteres em maiúsculas que precisam ser preservadas.

Parâmetros

input
Uma string contendo texto a ser escapado.

Valor Retornado

Uma string contendo os dados escapados.

Exemplos

Exemplo #1 Exemplo de Pdo\Pgsql::escapeIdentifier()

<?php
$pdo
= new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);

$unescapedTableName = 'UnescapedTableName';
$pdo->exec("CREATE TABLE $unescapedTableName ()");

$escapedTableName = $pdo->escapeIdentifier('EscapedTableName');
$pdo->exec("CREATE TABLE $escapedTableName ()");

$statement = $pdo->query(
"SELECT relname FROM pg_stat_user_tables WHERE relname ilike '%tablename'"
);

var_export($statement->fetchAll(PDO::FETCH_COLUMN, 0));

$tableNameWithSymbols = 'Table-Name-With-Symbols';
$pdo->exec("CREATE TABLE $tableNameWithSymbols ()");
?>

O exemplo acima produzirá algo semelhante a:

array (
  0 => 'unescapedtablename',
  1 => 'EscapedTableName',
)
Fatal error: Uncaught PDOException: SQLSTATE[42601]: Syntax error: 7 ERROR:  syntax error at or near "Table"
LINE 1: CREATE TABLE Table-Name-With-Symbols ()

Veja Também

  • PDO::quote() - Inclui aspas em uma string para uso em uma consulta
adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top