pg_result_status
pg_send_execute
Fonctions PostgreSQL
PHP Manual

# pg_select

(PHP 4 >= 4.3.0, PHP 5)

pg_select — Effectue une sélection PostgreSQL

### Description

mixed pg_select ( resource `$connection` , string `$table_name` , array `$assoc_array` [, int `$options` = PGSQL_DML_EXEC ] )

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

Si options est spécifiée, pg_convert() est appliquée à assoc_array avec les drapeaux spécifiés.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

### Liste de paramètres

`connection`

  Ressource de connexion de base de données PostgreSQL.

`table_name`

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

`assoc_array`

  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.

`options`

  N'importe quelle de `PGSQL_CONV_FORCE_NULL`, `PGSQL_DML_NO_CONV`, `PGSQL_DML_EXEC`, `PGSQL_DML_ASYNC` ou `PGSQL_DML_STRING` combinée. Si `PGSQL_DML_STRING` fait partie de `options` alors la requête est retournée sous forme de chaîne de caractères.

### Valeurs de retour

Cette fonction retourne `TRUE` en cas de succès ou `FALSE` si une erreur survient. Retourne une chaîne de caractères si `PGSQL_DML_STRING` est passé via `options`.

### Exemples

Exemple #1 Exemple avec pg_select()

`<?php
$db = pg_connect ('dbname=foo');
// C'est sécuritaire, car $_POST est converti automatiquement
$rec = pg_select($db, 'post_log', $_POST);
if ($rec) {
echo "Lignes lues\n";
var_dump($rec);
} else {
echo "Problème dans les données utilisateur\n";
}
?>`

### Historique

Version | Description
--- | ---
5.5.3/5.4.19 | Les injections SQL directes dans `table_name` et les injections SQL indirectes via les identifiants ont été résolues.

### Voir aussi

- pg_convert() - Convertit des tableaux associatifs en une commande PostgreSQL

pg_result_status
pg_send_execute
Fonctions PostgreSQL
PHP Manual