PHP 5.4.36 Released

pg_delete

(PHP 4 >= 4.3.0, PHP 5)

pg_delete Borra registros

Descripción

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

pg_delete() Borra los registros de una tabla especificada por las claves y los valores en assoc_array. Si options se especifica, se aplica pg_convert() a assoc_array con las opciones especificadas.

Parámetros

connection

Recurso de conección a la base de datos PostgreSQL.

table_name

Nombre de la tabla de la cual se va a borrar las filas.

assoc_array

Un tipo array en los cuales están los nombres de los campos en la tabla table_name, y cuyos valores son los valores de esos campos que están por ser borrados.

options

Cualquier número de PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC o PGSQL_DML_STRING combinadas. Si PGSQL_DML_STRING es parte de options, se devuelve el string de consulta. Cuando PGSQL_DML_NO_CONV o PGSQL_DML_ESCAPE están establecidas, no se llama a pg_convert() internamente.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error. Devuelve string si PGSQL_DML_STRING es pasada por medio de options.

Ejemplos

Ejemplo #1 Ejemplo de la función pg_delete()

<?php 
  $db 
pg_connect('dbname=foo');
  
// Esta forma es segura, ya que $_POST se convierte automaticamente
  
$res pg_delete($db'post_log'$_POST);
  if (
$res) {
      echo 
"El dato POST será borrado: $res\n";
  } else {
      echo 
"El usuario debe haber enviado entradas incorrectas\n";
  }
?>

Historial de cambios

Versión Descripción
5.6.0 Ya no es experimental. Se añadió la constante PGSQL_DML_ESCAPE, se admiten los tipos de datos TRUE/FALSE y NULL.
5.5.3/5.4.19 La inyección SQL directa a table_name y la inyección SQL indirecta a identificadores son fijasinjection.

Ver también

  • pg_convert() - Conviertir valores de un array asociativo en valores adcuados para sentencias SQL

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