# pg_escape_string

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_escape_string — Protège une chaîne de caractères pour une requête SQL

### Description

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

pg_escape_string() protège une chaîne de caractères pour l'insérer dans la base de données. Elle retourne la chaîne ainsi protégée au format PostgreSQL. L'utilisation de cette fonction est recommandée, à la place de addslashes(). Si le type de la colonne est bytea, pg_escape_bytea() doit plutôt être utilisée. La fonction pg_escape_identifier() doit être utilisée pour échapper les identifiants (i.e. noms de tables, noms de champs).

> Note:

> Cette fonction requiert PostgreSQL 7.2 ou plus 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 le texte à échapper.

### Valeurs de retour

Une chaîne de caractères contenant les données échappé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_string()

`<?php
// Connexion à la base de données
$dbconn = pg_connect('dbname=foo');
// Lecture d'un fichier texte (contenant des apostrophes et des antislashs)
$data = file_get_contents('letter.txt');
// Protection des données
$escaped = pg_escape_string($data);
// Insertion dans la base de données
pg_query("INSERT INTO correspondence (name, data) VALUES ('Ma lettre', '{$escaped}')");
?>`

### Voir aussi

- pg_escape_bytea() - Protège une chaîne pour insertion dans un champ bytea