(PHP 4 >= 4.3.0, PHP 5, PHP 7)
pg_update — Aktualisiert eine Tabelle
$connection
, string $table_name
, array $data
, array $condition
[, int $options
= PGSQL_DML_EXEC
] )
pg_update() überschreibt alle Datensätze in
table_name
, deren Werte denen in
condition entsprechen, mit den Werten aus
data. Falls options angegeben sind,
wird pg_convert() mit den angegebenen Flags auf
data angewendet.
connection
PostgreSQL Verbindungskennung.
table_name
Name der Tabelle, die aktualisiert werden soll.
data
Ein array, dessen Schlüssel Feldnamen von
table_name
sind und mit dessen Werten die Tabelle
aktualisiert wird.
condition
Ein array, dessen Schlüssel Feldnamen von
table_name
sind und das die Werte enthält, die in
table_name
überschrieben werden sollen. (Die
Gleichheit dieser Werte ist die Bedingung zum Überschreiben.)
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
PGSQL_DML_STRING
mit dem Parameter
options
übergeben wurde.
Beispiel #1 pg_update() Beispiel
<?php
$db = pg_connect('dbname=foo');
$data = array('field1'=>'AA', 'field2'=>'BB');
// Das ist sicher, da $_POST automatisch konvertiert wird
$res = pg_update($db, 'post_log', $_POST, $data);
if ($res) {
echo "Daten wurden aktualisiert: $res\n";
} else {
echo "Falsche Eingabe\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.
|