Send a NULL-terminated string to PostgreSQL backend

# pg_put_line

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

pg_put_line — Send a NULL-terminated string to PostgreSQL backend

### Description

pg_put_line(PgSql\Connection `$connection` = ?, string `$query`): bool

pg_put_line() sends a NULL-terminated string to the PostgreSQL backend server. This is needed in conjunction with PostgreSQL's `COPY FROM` command.

`COPY` is a high-speed data loading interface supported by PostgreSQL. Data is passed in without being parsed, and in a single transaction.

An alternative to using raw pg_put_line() commands is to use pg_copy_from(). This is a far simpler interface.

> Note:

> The application must explicitly send the two characters "\." on the last line to indicate to the backend that it has finished sending its data, before issuing pg_end_copy().

Warning

Use of the pg_put_line() causes most large object operations, including pg_lo_read() and pg_lo_tell(), to subsequently fail. You can use pg_copy_from() and pg_copy_to() instead.

### Parameters

`connection`

  An PgSql\Connection instance. When `connection` is unspecified, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

  Warning

  As of PHP 8.1.0, using the default connection is deprecated.

`query`

  A line of text to be sent directly to the PostgreSQL backend. A `NULL` terminator is added automatically.

### Return Values

Returns `true` on success or `false` on failure.

### Changelog

Version | Description
--- | ---
8.1.0 | The `connection` parameter expects an PgSql\Connection instance now; previously, a resource was expected.

### Examples

Example #1 pg_put_line() example

`<?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);
?>`

### See Also

- pg_end_copy() - Sync with PostgreSQL backend

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open