pg_insert

(PHP 4 >= 4.3.0, PHP 5)

pg_insert Insère un tableau dans une table

Description

mixed pg_insert ( resource $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.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

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_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.

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 le paramètre options.

Exemples

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";
  }
?>

Historique

Version Description
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.

Voir aussi

  • pg_convert() - Convertit des tableaux associatifs en une commande PostgreSQL

LoadingChargement en cours