Protège une requête SQL littérale à insérer dans un champ texte

# pg_escape_literal

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

pg_escape_literal — Protège une requête SQL littérale à insérer dans un champ texte

### Description

function pg_escape_literal(PgSql\Connection `$connection` = ?, string `$string`): string|false

pg_escape_literal() protège une requête SQL littérale pour le requêtage à la base de données PostgreSQL. Le résultat retourné est une chaîne de caractères protégée au format PostgreSQL. pg_escape_literal() ajoute des simples quotes avant et après les données. Les utilisateurs ne doivent donc pas ajouter des simples quotes. L'utilisation de cette fonction est recommandée à la place de pg_escape_string(). Si la colonne est de type bytea, il convient d'utiliser à la place la fonction pg_escape_bytea(). Pour protéger les identifiants (par exemple les noms de table, nom de champs), il convient d'utiliser la fonction pg_escape_identifier().

### Liste de paramètres

`connection`

  Une instance PgSql\Connection. Quand `connection` n'est pas spécifiée, la connexion par défaut est utilisée. 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.

`string`

  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, ou `false` en cas d'erreur.

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

    <?php
      // Connexion à la base de données
      $dbconn = pg_connect('dbname=foo');

      // Lecture d'un fichier (contenant apostrophes et antislashes)
      $data = file_get_contents('letter.txt');

      // Protection des données
      $escaped = pg_escape_literal($data);

      // Insertion en base de données. Notez qu'il n'y a pas de simple quotes autour de {$escaped}
      pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', {$escaped})");
    ?>

### Voir aussi

- pg_escape_identifier() - Protège un identifiant pour l'insertion 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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open