pg_select
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
pg_select —
Effectue une sélection PostgreSQL
Description
pg_select(
resource $connection
,
string $table_name
,
array $assoc_array
,
int $options
= PGSQL_DML_EXEC,
int $result_type
= PGSQL_ASSOC):
mixed
Si options
est fournit,
pg_convert() est appliqué à
assoc_array
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
-
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_ESCAPE
,
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. 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
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');
// 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";
}
?>
Voir aussi
- pg_convert() - Convertit des valeurs d'un tableaux associatifs en une forme convenable pour des requêtes SQL