Efface des lignes PostgreSQL

# pg_delete

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

pg_delete — Efface des lignes PostgreSQL

### Description

function pg_delete(
PgSql\Connection `$connection`,
string `$table_name`,
array `$conditions`,
int `$flags` = `PGSQL_DML_EXEC`
): string|bool

pg_delete() efface les lignes d'une table spécifiées par les clés et valeur du tableau associatif `conditions`.

Si `flags` est fourni, pg_convert() est appliqué à `conditions` avec les drapeaux fournis.

Par défaut pg_delete() passe des valeurs brutes. Les valeurs doivent être échappées 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 sensibles à la casse.

Il est à noter que ni l'échappement ni les requêtes préparées peuvent protéger des requêtes LIKE, JSON, Tableaux, Regex, etc. Ces paramètres devraient être traités 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 depuis laquelle les lignes seront effacées.

`conditions`

  Un tableau où les clés sont les noms des champs de la table `table_name` et où les valeurs sont les valeurs de ces champs qui sont à effacer.

`flags`

  Toute combinaison des valeurs suivantes : `PGSQL_CONV_FORCE_NULL`, `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 fait en interne.

### 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é dans le paramètre `flags`.

### Historique

Version | Description
--- | ---
8.1.0 | Le paramètre `connection` attend désormais une instance de PgSql\Connection ; auparavant, une resource était attendu.

### Exemples

Exemple #1 Exemple avec pg_delete()

    <?php
     $db = pg_connect ('dbname=foo');
     // Ceci est sûr quelque peu, car toutes les valeurs sont échappées
     // Cependant PostgreSQL supporte les JSON/Tableaux. Ceux-ci ne sont pas
     // sûrs ni par échappement ni par les requêtes préparées.
     $res = pg_delete($db, 'post_log', $_POST, PG_DML_ESCAPE);
     if ($res) {
         echo "Les données POSTées ont été effacées : $res\n";
     } else {
         echo "Les données d'entrées sont erronées.\n";
     }
    ?>

### Voir aussi

- pg_convert() - Convertit des valeurs d'un tableau associatif en une forme convenable pour des requêtes SQL

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open