Function.pg-put-line
Aus PHP-Wiki
pg_put_line — Sendet eine NULL-terminierte Zeichenkette zum PostgreSQL-Server
Inhaltsverzeichnis |
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.
Hinweis:
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); ?>