(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
pg_insert — Insère un tableau dans une table
$connection,$table_name,$values,$flags = PGSQL_DML_EXEC
pg_insert() insère les values
dans la table table_name.
Si flags est spécifié,
pg_convert() est appliqué à
values avec les drapeaux fournit.
Par défaut pg_insert() passe des valeurs brutes.
Les valeurs doivent être échappé ou le drapeau PGSQL_DML_ESCAPE
doit être spécifié dans flags.
PGSQL_DML_ESCAPE met des guillemets et échappe les paramètres/identifiants.
Par conséquent, les noms de table/colonnes deviennent 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_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 values a d'éléments.
values
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.
flags
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
flags, 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.. Ou retourne une chaîne de caractères si PGSQL_DML_STRING
est fournit via flags.
| Version | Description |
|---|---|
| 8.1.0 | Retourne désormais une instance de PgSql\Result instance ; auparavant, une ressource était retourné. |
| 8.1.0 |
Le paramètre connection attend désormais une instance de
PgSql\Connection ; auparavant, une ressource était attendu.
|
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";
}
?>