pg_update

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

pg_updateAktualisiert eine Tabelle

Beschreibung

pg_update(
    PgSql\Connection$connection,
    string$table_name,
    array$values,
    array$conditions,
    int$flags = PGSQL_DML_EXEC
): string|bool

pg_update() überschreibt alle Datensätze in table_name, die die Bedingungen in conditions erfüllen, mit den Werten aus values.

Falls flags angegeben wurde, wird pg_convert() mit den angegebenen Flags auf values angewendet.

Standardmäßig übergibt pg_update() Rohwerte. Die Werte müssen entweder maskiert werden oder das Flag PGSQL_DML_ESCAPE muss in flags angegeben werden. PGSQL_DML_ESCAPE maskiert Parameter und Bezeichner und setzt sie in Anführungszeichen. Daher muss bei Tabellen- und Spaltennamen zwischen Groß- und Kleinschreibung unterschieden werden.

Es ist zu beachten, dass weder die Maskierung noch eine vorbereitete Abfrage LIKE-Abfragen, JSON, Array, Regex usw. schützen können. Diese Parameter sollten im Kontext behandelt werden, d. h. Werte maskieren und validieren.

Parameter-Liste

connection

Eine PgSql\Connection-Instanz.

table_name

Der Name der Tabelle, die aktualisiert werden soll.

values

Ein Array, dessen Schlüssel Feldnamen von table_name sind und mit dessen Werten die entsprechenden Datensätze aktualisiert werden.

conditions

Ein Array, dessen Schlüssel Feldnamen von table_name sind und dessen Werte die Bedingungen sind, die ein Datensatz erfüllen muss, um aktualisiert zu werden.

flags

Jede Kombination aus PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC und PGSQL_DML_STRING. Falls PGSQL_DML_STRING in den flags enthalten ist, wird der Abfragestring zurückgegeben. Werden PGSQL_DML_NO_CONV oder PGSQL_DML_ESCAPE angegeben, wird pg_convert() intern nicht aufgerufen.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben. Gibt einen String zurück, falls PGSQL_DML_STRING mit dem Parameter flags übergeben wurde.

Changelog

VersionBeschreibung
8.1.0 Der Parameter connection erwartet nun eine PgSql\Connection-Instanz; vorher wurde eine Ressource erwartet.

Beispiele

Beispiel #1 pg_update()-Beispiel

<?php
$db
= pg_connect('dbname=foo');
$data = array('field1'=>'AA', 'field2'=>'BB');
// Das ist einigermaßen sicher, da alle Werte maskiert werden.

Siehe auch

  • pg_convert() - Konvertiert die Werte eines assoziativen Arrays in die für SQL-Anweisungen passende Form
To Top