(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
] )
pg_insert() insère le tableau
assoc_array dans la table
table_name.
Si options est spécifiée,
pg_convert() s'applique à
assoc_array avec l'option spécifiée.
connectionUne 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.
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 le paramètre options.
Exemple #1 Exemple avec pg_insert()
<?php
$db = pg_connect ('dbname=foo');
// C'est sécuritaire, car $_POST est converti automatiquement
$res = pg_insert($db, 'post_log', $_POST);
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 |
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.
|