(PHP 4 >= 4.3.0, PHP 5, PHP 7)
pg_insert — Überträgt Werte aus einem Array in eine Tabelle
$connection
, string $table_name
, array $assoc_array
[, int $options = PGSQL_DML_EXEC
] ) : mixed
pg_insert() fügt die Werte des assoc_array
in die Tabelle table_name ein. Falls options
angegeben wurde, wird pg_insert() auf assoc_array
mit den angegebenen Optionnen angewendet.
connectionPostgreSQL Verbindungskennung.
table_name
Name der Tabelle, in die die Zeilen eingefügt werden sollen.
table_name muss mindestens soviele Spalten haben, wie das
assoc_array Elemente.
assoc_array
Ein array dessen Indizes Feldnamen von
table_name sind und dessen Werte in die
entprechenden Spalten eingefügt werden.
options
Jede Kombination aus PGSQL_CONV_OPTS,
PGSQL_DML_NO_CONV,
PGSQL_DML_ESCAPE,
PGSQL_DML_EXEC,
PGSQL_DML_ASYNC oder
PGSQL_DML_STRING. Falls PGSQL_DML_STRING bei den
options angegeben wurde, wird der Abfrage-String zurückgegeben.
Werden PGSQL_DML_NO_CONV oder
PGSQL_DML_ESCAPE angegeben, wird
pg_convert() intern nicht aufgerufen.
Liefert bei Erfolg die Verbindungsressource zurück. Im Fehlerfall wird FALSE zurückgegeben.
Falls die Konstante PGSQL_DML_STRING in den options übergeben wurde, wird ein string zurückgegeben.
Beispiel #1 pg_insert() Beispiel
<?php
$dbconn = pg_connect('dbname=foo');
// Das ist sicher, da $_POST automatisch konvertiert wird
$res = pg_insert($dbconn, 'post_log', $_POST);
if ($res) {
echo "Der Inhalt von $_POST wurde protokolliert\n";
} else {
echo "Vermutlich wurden falsche Eingabedaten gesendet\n";
}
?>
| Version | Beschreibung |
|---|---|
| 5.6.0 |
Außer wenn PGSQL_DML_STRING übergeben wird, liefert
die Funktion nun im Erfolgsfall die Verbindungsressource anstelle von
TRUE zurück.
|
| 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.
|