# pg_escape_identifier

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

pg_escape_identifier — Protège un identifiant pour l'insertion dans un champ texte.

### Description

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

pg_escape_identifier() protège un identifiant (exemple: table, nom de champ) pour une requête en base de données. Le résultat est une chaîne de caractère protégée pour PostgreSQL. pg_escape_identifier() ajoute des guillemets avant et après les données. Les utilisateurs ne doivent donc pas ajouter de guillemets. L'utilisation de cette fonction est recommandée pour les les identifiants des requêtes. Pour les données brutes SQL (c'est à dire les paramètres, excepté de type bytea), pg_escape_literal() ou pg_escape_string() doit être utilisé. Pour les champs de type bytea il est nécessaire d'utiliser pg_escape_bytea().

> Note:

> Cette fonction a une protection de code interne et peut être utilisée pour PostgreSQL 8.4 ou moins récent.

### Liste de paramètres

`connection`

  Une instance PgSql\Connection. Quand `connection` est pas spécifié, la connexion par défaut est utilisé. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect()

  Avertissement

  À partir de PHP 8.1.0, utiliser la connexion par défaut est obsolète.

`data`

  Une chaîne de caractères contenant du texte à protéger.

### Valeurs de retour

Une chaîne de caractères contenant les données protégées.

### Historique

Version | Description
--- | ---
8.1.0 | Le paramètre `connection` attend désormais une instance de PgSql\Connection ; auparavant, une resource était attendu.

### Exemples

Exemple #1 Exemple avec pg_escape_identifier()

`<?php
// Connexion à la base de données
$dbconn = pg_connect('dbname=foo');
// Protection du nom de la table
$escaped = pg_escape_identifier($table_name);
// Sélection des lignes de la table $table_name
pg_query("SELECT * FROM {$escaped};");
?>`

### Voir aussi

- pg_escape_literal() - Protège une requête SQL littérale à insérer dans un champ texte
- pg_escape_bytea() - Protège une chaîne pour insertion dans un champ bytea
- pg_escape_string() - Protège une chaîne de caractères pour une requête SQL