PHP 5.5.16 is released

pg_delete

(PHP 4 >= 4.3.0, PHP 5)

pg_delete Efface des lignes PostgreSQL

Description

mixed pg_delete ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_delete() efface les lignes de la table table_name, spécifiées par le tableau associatif assoc_array. Si option est spécifié, pg_convert() est appliqué à assoc_array avec cette option.

Liste de paramètres

connection

Ressource de connexion PostgreSQL.

table_name

Nom de la table depuis laquelle les lignes seront effacées.

assoc_array

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 à effacés.

options

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 options 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 faite 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 options.

Exemples

Exemple #1 Exemple avec pg_delete()

<?php 
 $db 
pg_connect ('dbname=foo');
 
// C'est sans problème, car $_POST est converti automatiquement
 
$res pg_delete($db'post_log'$_POST);
 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";
 }
?>

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.

Historique

Version Description
5.6.0 La fonction n'est plus expérimentale. Ajout de la constante PGSQL_DML_ESCAPE ainsi que du support des types de données TRUE/FALSE et NULL.
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

add a note add a note

User Contributed Notes 1 note

up
1
Anonymous
10 years ago
One should take care when checking the return value.
0 == false which is not equal with failed delete.

if(!$res)
  echo "Nothing was deleted";
To Top