pg_insert

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_insert Insère un tableau dans une table

Description

pg_insert(
    PgSql\Connection$connection,
    string$table_name,
    array$values,
    int$flags = PGSQL_DML_EXEC
): PgSql\Result|string|bool

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.

Liste de paramètres

connection

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

Valeurs de retour

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.

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.

Historique

VersionDescription
8.3.0 Lance désormais une erreur ValueError lorsque la table spécifiée est invalide ; précédemment, un E_WARNING était émis.
8.3.0 Lance désormais une erreur ValueError ou TypeError lorsque la valeur ou le type du champ ne correspond pas correctement à un type PostgreSQL ; précédemment, un E_WARNING était émis.
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.

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

Voir aussi

  • pg_convert() - Convertit des valeurs d'un tableaux associatifs en une forme convenable pour des requêtes SQL
To Top