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_EXEC 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é 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.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
9 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