PHP 8.3.4 Released!

pg_delete

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

pg_delete Borra registros

Descripción

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

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 adecuados para sentencias SQL

add a note

User Contributed Notes 1 note

up
-7
Anonymous
19 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