(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
pg_select — Effectue une sélection PostgreSQL
$connection,$table_name,$conditions = [],$flags = PGSQL_DML_EXEC,$mode = PGSQL_ASSOC
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.
Si le paramètre mode est défini,
la valeur de retour sera sous la forme d'un tableau indexé
avec PGSQL_NUM,
un tableau associatif avec PGSQL_ASSOC (par défaut),
ou les deux avec PGSQL_BOTH.
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.
connectionUne instance PgSql\Connection.
table_nameNom de la table à partir de laquelle sélectionner les lignes.
conditions
Un array dont les clés sont les noms des champs dans la table table_name,
et dont les valeurs sont les conditions qu'une ligne doit remplir pour être récupérée.
À partir de PHP 8.4.0, lorsqu'un tableau vide est fourni, aucune condition ne sera appliquée.
Auparavant, la fonction échouait avec un argument conditions vide.
flags
Un nombre quelconque de PGSQL_CONV_FORCE_NULL,
PGSQL_DML_NO_CONV,
PGSQL_DML_ESCAPE,
PGSQL_DML_EXEC,
PGSQL_DML_ASYNC ou
PGSQL_DML_STRING combinés. Si PGSQL_DML_STRING fait partie des
flags, alors la chaîne de requête est renvoyée. Lorsque PGSQL_DML_NO_CONV
ou PGSQL_DML_ESCAPE est activé, pg_convert() n'est pas appelée en interne.
mode
Un nombre quelconque de PGSQL_ASSOC,
PGSQL_NUM ou
PGSQL_BOTH.
Si PGSQL_ASSOC est défini, la valeur de retour sera un array associatif,
avec PGSQL_NUM, la valeur de retour sera un array indexé numériquement, et
avec PGSQL_BOTH, la valeur de retour sera à la fois un array associatif et
numériquement indexé.
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.
| Version | Description |
|---|---|
| 8.4.0 |
conditions est désormais optionnel.
|
| 8.1.0 |
Le paramètre connection attend désormais une instance de
PgSql\Connection ; auparavant, une resource était attendu.
|
| 7.1.0 |
Le paramètre mode a été ajouté.
|
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', $_POST, PG_DML_ESCAPE);
if ($rec) {
echo "Lignes lues\n";
var_dump($rec);
} else {
echo "Problème dans les données utilisateur\n";
}
?>