pg_escape_literal

(PHP 5 >= 5.4.4)

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

Description

string pg_escape_literal ([ resource $connection ], string $data )

pg_escape_literal() protège une requête SQL littérale pour le requêtage à la base de données PostgreSQL. Le résultats retournée est une chaîne de caractère protégé 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().

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

Ressource de connexion à une base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion créée par la fonction pg_connect() ou la fonction pg_pconnect().

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.

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 anti-slashes)
  $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

LoadingChargement en cours