pg_select

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

pg_select Effectue une sélection PostgreSQL

Description

pg_select(
    PgSql\Connection $connection,
    string $table_name,
    array $conditions,
    int $flags = PGSQL_DML_EXEC,
    int $mode = PGSQL_ASSOC
): array|string|false

pg_select() sélectionne les enregistrements par conditions qui est au format field=>value. Lorsque la requête réussit, elle retourne un tableau contenant tous les enregistrements et champs qui vérifient la condition spécifiée parconditions.

Si flags est spécifié, pg_convert() est appliqué à values avec les drapeaux fournit.

Par défaut pg_delete() passe des valeurs brutes. Les valeurs doivent être échappé ou l'option PGSQL_DML_ESCAPE doit être fournit. PGSQL_DML_ESCAPE met des guillemets et échappe les paramètres/idantifiants. Par conséquent, les noms de table/colonnes doivent être sensible à la casse.

Notez que ni l'échappement ni les requêtes préparer peuvent protéger des requêtes LIKE, JSON, Tableaux, Regex, etc. Ces paramètres devraient être traité en fonction de leur contexte. C'est à dire échapper/valider les valeurs.

Liste de paramètres

connection

Une instance PgSql\Connection.

table_name

Nom de la table dans laquelle on sélectionne les lignes.

conditions

Un tableau à qui les clés sont les noms des champs dans la table table_name et à qui les valeurs sont les conditions que la ligne doit vérifier pour être récupérée.

flags

N'importe quelle de PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC ou PGSQL_DML_STRING combinée. Si PGSQL_DML_STRING fait partie de flags alors la requête est retournée sous forme de chaîne de caractères. Lorsque la constante PGSQL_DML_NO_CONV ou la constante PGSQL_DML_ESCAPE est définie, aucun appel à la fonction pg_convert() ne sera effectué en interne.

Valeurs de retour

Retourne une string si PGSQL_DML_STRING est fournit via flags, sinon ceci retourne un array en cas de succès, ou false si une erreur survient.

Historique

Version Description
8.1.0 Le paramètre connection attend désormais une instance de PgSql\Connection ; auparavant, une ressource était attendu.
7.1.0 Le paramètre mode a été ajouté.

Exemples

Exemple #1 Exemple avec pg_select()

<?php 
  $db 
pg_connect ('dbname=foo');
  
// Ceci est sûr quelque peu, car toutes les valeurs sont échappées
  // Cependant PostgreSSQL supporte les JSON/Tableaux. Ceci ne sont pas
  // sûr ni par échappement ni par les requêtes préparés.
  
$rec pg_select($db'post_log'$_POSTPG_DML_ESCAPE);
  if (
$rec) {
    echo 
"Lignes lues\n";
    
var_dump($rec);
  } else {
    echo 
"Problème dans les données utilisateur\n";
  }
?>

Voir aussi

  • pg_convert() - Convertit des valeurs d'un tableaux associatifs en une forme convenable pour des requêtes SQL