(PHP 4 >= 4.3.0, PHP 5, PHP 7)
pg_select — Wählt Datensätze aus
$connection
, string $table_name
, array $assoc_array
[, int $options
= PGSQL_DML_EXEC
] )
pg_select() wählt die Datensätze aus der Tabelle
table_name
aus, die den Elementen
(field=>value) in assoc_array
entsprechen. Wenn die Abfrage erfolgreich war, wird ein assoziatives
Array mit allen Zeilen und Werten aus table_name
zurückgegeben, die mit den Zeilen und Werten in assoc_array identisch sind.
Falls options angegeben wurde, wird pg_convert() mit den angegebenen Flags auf assoc_array angewendet.
connection
PostgreSQL Verbindungskennung.
table_name
Name der Tabelle, aus der die Zeilen ausgewählt werden.
assoc_array
Ein array, dessen Schlüssel Feldnamen von
table_name
sind und dessen Werte mit den
entsprechenden Werten in table_name
übereinstimmen müssen, damit die Zeile zurückgegeben werden kann.
options
Eine beliebige 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
im Parameter
options
übergeben wurde.
Beispiel #1 pg_select() Beispiel
<?php
$db = pg_connect('dbname=foo');
// Das ist sicher, da $_POST automatisch konvertiert wird
$rec = pg_select($db, 'post_log', $_POST);
if ($rec) {
echo "Datensätze ausgewählt\n";
var_dump($rec);
} 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.
|