(PHP 4 >= 4.3.0, PHP 5, PHP 7)
pg_insert — Insère un tableau dans une table
$connection
, string $table_name
, array $assoc_array
[, int $options
= PGSQL_DML_EXEC
] ) : mixed
pg_insert() insère les valeurs de
assoc_array
dans la table fournit par
table_name
.
Si options
est spécifiée,
pg_convert() s'applique à
assoc_array
avec les options spécifiée.
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.
connection
Une ressource de connexion PostgreSQL.
table_name
Nom de la table dans laquelle les lignes seront insérées. La table
table_name
doit avoir au moins autant de colonnes
que assoc_array
a d'éléments.
assoc_array
Un tableau dont les clés sont les noms des champs dans la table table_name
,
et où les valeurs sont les valeurs de ces champs qui seront insérés.
options
Toutes combinaisons de constantes parmi
PGSQL_CONV_OPTS
,
PGSQL_DML_NO_CONV
,
PGSQL_DML_ESCAPE
,
PGSQL_DML_EXEC
,
PGSQL_DML_ASYNC
ou
PGSQL_DML_STRING
. Si
PGSQL_DML_STRING
fait partie du paramètre
options
, alors la requête sera retournée.
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ée en interne.
Retourne la ressource de connexion en cas de succès, ou FALSE
si une erreur survient.
Retourne une chaîne de caractères si PGSQL_DML_STRING
est passé.
Exemple #1 Exemple avec pg_insert()
<?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.
$res = pg_insert($dbconn, 'post_log', $_POST, PG_DML_ESCAPE);
if ($res) {
echo "Les données POSTées ont pu être enregistrées avec succès.\n";
} else {
echo "Il y a un problème avec les données.\n";
}
?>
Version | Description |
---|---|
5.6.0 |
À moins que PGSQL_DML_STRING est passé, la fonctione
retourne désormais la ressource de connexion au lieux de TRUE en cas de succès.
|
5.6.0 |
La fonction n'est plus expérimentale. Ajout de la constante
PGSQL_DML_ESCAPE ainsi que du support des données
de type TRUE /FALSE et NULL .
|
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.
|