(PHP 5 >= 5.4.4, PHP 7, PHP 8)
pg_escape_identifier — Protège un identifiant pour l'insertion dans un champ texte.
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.
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()
À 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.
Une chaîne de caractères contenant les données protégées.
Version | Description |
---|---|
8.1.0 |
Le paramètre connection attend désormais une instance de
PgSql\Connection ; auparavant, une ressource était attendu.
|
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};");
?>