Insert records into a table from an array

# pg_copy_from

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

pg_copy_from — Insert records into a table from an array

### Description

pg_copy_from(
PgSql\Connection `$connection`,
string `$table_name`,
array|Traversable `$rows`,
string `$separator` = "\t",
string `$null_as` = "\\\\N"
): bool

pg_copy_from() inserts records into a table from `rows`. It issues a `COPY FROM` SQL command internally to insert records.

### Parameters

`connection`

  An PgSql\Connection instance.

`table_name`

  Name of the table into which to copy the `rows`.

`rows`

  An iterable data to be copied into `table_name`. Each value in `rows` becomes a row in `table_name`. Each value in `rows` should be a delimited string of the values to insert into each field. Values should be linefeed terminated.

`separator`

  The token that separates values for each field in each element of `rows`. Default is `\t`.

`null_as`

  How SQL `NULL` values are represented in the `rows`. Default is `\\N` (`"\\\\N"`).

### Return Values

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

### Changelog

Version | Description
--- | ---
8.5.0 | `rows` is now of type iterable. Previously, it was of type array.
8.1.0 | The `connection` parameter expects an PgSql\Connection instance now; previously, a resource was expected.

### Examples

Example #1 pg_copy_from() example

`<?php
$db = pg_connect("dbname=publisher") or die("Could not connect");
$rows = pg_copy_to($db, $table_name);
pg_query($db, "DELETE FROM $table_name");
pg_copy_from($db, $table_name, $rows);
?>`

### See Also

- pg_copy_to() - Copy a table to an array

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