(PHP 4 >= 4.3.0, PHP 5, PHP 7)
pg_delete — Löscht Datensätze
$connection
, string $table_name
, array $assoc_array
[, int $options = PGSQL_DML_EXEC
] ) : mixed
pg_delete() löscht Datensätze aus table_name,
deren Feldnamen den Indizes von assoc_array
entsprechen und deren Spaltenwerte mit den Werten der Arrayelemente identisch sind. Falls
options angegeben wurde, wird pg_convert() mit
den angegebenen Optionen auf assoc_array angewendet.
connectionPostgreSQL Verbindungskennung.
table_nameName der Tabelle, aus der Zeilen gelöscht werden.
assoc_array
Ein array dessen Schlüssel den Feldnamen der Tabelle
table_name entsprechen und dessen Werte den zu löschenden
Spaltenwerten entsprechen.
options
Jede Kombination aus PGSQL_CONV_FORCE_NULL,
PGSQL_DML_NO_CONV,
PGSQL_DML_ESCAPE,
PGSQL_DML_EXEC, PGSQL_DML_ASYNC oder
PGSQL_DML_STRING. Falls
PGSQL_DML_STRING in den
options enthalten ist, wird der Abfragestring
zurückgegeben. Werden
PGSQL_DML_NO_CONV oder
PGSQL_DML_ESCAPE angegeben, wird
pg_convert() intern nicht aufgerufen.
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Gibt einen string zurück, falls
die Konstante PGSQL_DML_STRING im Parameter
options übergeben wurde.
Beispiel #1 pg_delete() Beispiel
<?php
$db = pg_connect('dbname=foo');
// Das ist sicher, weil $_POST automatisch konvertiert wird
$res = pg_delete($db, 'post_log', $_POST);
if ($res) {
echo "POST-Daten wurden gelscht: $res\n";
} else {
echo "Aufruf erfolgte mit falschen Angaben\n";
}
?>
| Version | Beschreibung |
|---|---|
| 5.6.0 |
Nicht länger experimentell. Die PGSQL_DML_ESCAPE
Konstante wurde hinzugefügt, wie auch Unterstützung für TRUE/FALSE
und NULL Datentypen.
|
| 5.5.3/5.4.19 |
Direkte SQL-Injection in table_name und indirekte
SQL-Injection in Bezeichner wurden behoben.
|