(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
pg_delete — Elimina filas de PostgreSQL
$connection
,$table_name
,$conditions
,$flags
= PGSQL_DML_EXEC
pg_delete() elimina las filas de una tabla especificadas por
las claves y valores del array asociativo conditions
.
Si flags
es proporcionado,
pg_convert() es aplicado a
conditions
con los flags proporcionados.
Por omisión pg_delete() pasa valores sin tratar.
Los valores deben ser escapados o el flag PGSQL_DML_ESCAPE
debe ser especificado en flags
.
PGSQL_DML_ESCAPE
añade comillas y escapa los parámetros/identificadores.
Por lo tanto, los nombres de tablas/columnas se vuelven sensibles a mayúsculas/minúsculas.
Tenga en cuenta que ni el escape ni las consultas preparadas pueden proteger consultas LIKE, JSON, arrays, Regex, etc. Estos parámetros deben ser tratados según su contexto. Es decir, escapar/validar los valores.
connection
An PgSql\Connection instance.
table_name
Nombre de la tabla desde la cual las filas serán eliminadas.
conditions
Un tableau donde las claves son los nombres de los campos de la tabla
table_name
y donde los valores son los valores
de estos campos que deben ser eliminados.
flags
Cualquier combinación de los siguientes valores:
PGSQL_CONV_FORCE_NULL
,
PGSQL_DML_NO_CONV
,
PGSQL_DML_ESCAPE
,
PGSQL_DML_EXEC
,
PGSQL_DML_ASYNC
o
PGSQL_DML_STRING
.
Si PGSQL_DML_STRING
forma parte del parámetro
flags
entonces, la consulta será devuelta.
Cuando la constante PGSQL_DML_NO_CONV
o la constante
PGSQL_DML_ESCAPE
están definidas, ninguna llamada a la función
pg_convert() será realizada internamente.
Devuelve true
en caso de éxito o false
en caso de error. Devuelve un chaîne de caractères si PGSQL_DML_STRING
es pasado en el parámetro flags
.
Versión | Descripción |
---|---|
8.1.0 |
The connection parameter expects an PgSql\Connection
instance now; previously, a recurso was expected.
|
Ejemplo #1 Ejemplo con pg_delete()
<?php
$db = pg_connect ('dbname=foo');
// Esto es seguro en cierta medida, ya que todos los valores son escapados
// Sin embargo PostgreSSQL soporta JSON/arrays. Estos no son
// seguros ni por escape ni por consultas preparadas.
$res = pg_delete($db, 'post_log', $_POST, PG_DML_ESCAPE);
if ($res) {
echo "Los datos POST han sido eliminados: $res\n";
} else {
echo "Los datos de entrada son incorrectos.\n";
}
?>