PHP Handbuch
Zurück |  | Weiter

# pg_put_line

(PHP 4 >= 4.0.3, PHP 5)

pg_put_line -- Sendet eine NULL-terminierte Zeichenkette zum PostgreSQL-Server

## Beschreibung

bool pg_put_line ( string data )
bool pg_put_line ( resource connection, string data )

pg_put_line() sendet eine NULL-terminierte Zeichenkette an den PostgreSQL-Server. Das ist in Verbindung mit dem PostgreSQL-Befehl `COPY FROM` notwendig.

`COPY` ist eine PostgreSQL-Anweisung, mit der Daten mit hoher Geschwindigkeit in eine Tabelle eingefügt werden können. Die Daten werden ungeparst und in einer einzigen Transaktion übertragen.

Alternativ zu pg_put_line() kann pg_copy_from() verwendet werden. Dies ist weitaus einfacher.

> Anmerkung: Eine Anwendung muss explizit die beiden Zeichen "\." in der letzten Zeile an PostgreSQL übertragen, um anzuzeigen, dass die Datenübertragung beendet ist, bevor pg_end_copy() aufgerufen wird.

Warnung
Die Verwendung von pg_put_line() führt bei den meisten Operationen mit Large Objects zu Fehlern. So etwa bei pg_lo_read() und pg_lo_tell(). Stattdessen sollten Sie pg_copy_from() and pg_copy_to() benutzen.

## Parameter Liste

`connection`

  PostgreSQL Verbindungkennung. Falls `connection` nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

`data`

  Eine Textzeile, die direkt an den PostgreSQL Datenbankserver gesendet wird. Dabei wird automatisch ein `NULL` an das Zeilenende angehängt.

## Rückgabewerte

Gibt bei Erfolg `TRUE` zurück, im Fehlerfall `FALSE`.

## Beispiele

Beispiel 1. pg_put_line() Beispiel

`<?php $conn = pg_pconnect("dbname=foo"); pg_query($conn, "create table bar (a int4, b char(16), d float8)"); pg_query($conn, "copy bar from stdin"); pg_put_line($conn, "3\thello world\t4.5\n"); pg_put_line($conn, "4\tgoodbye world\t7.11\n"); pg_put_line($conn, "\\.\n"); pg_end_copy($conn); ?>`

## Siehe auch

pg_end_copy()

Zurück | Zum Anfang | Weiter
pg_prepare | Nach oben | pg_query_params