pg_insert
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
pg_insert —
Insère un tableau dans une table
Description
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.
Erreurs / Exceptions
Une ValueError est déclenchée lorsque la table spécifiée est invalide.
Une ValueError ou TypeError est déclenchée
lorsque la valeur ou le type du champ ne correspond pas correctement à un type PostgreSQL.
Exemples
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, PGSQL_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";
}
?>
Voir aussi
- pg_convert() - Convertit des valeurs d'un tableaux associatifs en une forme convenable pour des requêtes SQL