pg_copy_to

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

pg_copy_to Copy a table to an array

Опис

pg_copy_to(
    PgSql\Connection $connection,
    string $table_name,
    string $separator = "\t",
    string $null_as = "\\\\N"
): array|false

pg_copy_to() copies a table to an array. It issues COPY TO SQL command internally to retrieve records.

Параметри

connection

Примірник PgSql\Connection.

table_name

Name of the table from which to copy the data into rows.

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").

Значення, що повертаються

An array with one element for each line of COPY data, або false в разі помилки.

Журнал змін

Версія Опис
8.1.0 Тепер параметр connection має бути примірником PgSql\Connection. Раніше очікувався resource.

Приклади

Приклад #1 pg_copy_to() 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);
?>

Прогляньте також

add a note

User Contributed Notes 3 notes

up
0
John M
4 years ago
Worth noting here that just like the COPY TO statement in PostgreSQL, '$table_name' can include a list of columns or be a select query as well.
e.g.:
$rows = pg_copy_to($db,'schema."TableName" (column1, column2, ...)';
$rows = pg_copy_to($db,'(SELECT ...)');
up
0
setantae at submonkey dot net
21 years ago
"It issues COPY TO SQL command internally to insert records"

I suspect this statement is incorrect, or that s/insert/retrieve/ is appropriate.
up
-3
etiger13 at gmail dot com
14 years ago
You cannot specify the schema name in this command. You can change the search path for just one query by using the following code:

<?php
pg_query
($conn, "SET search_path TO myschema;");

$copy_to = pg_copy_to($conn, 'tablename');

pg_query("RESET search_path;");
?>
To Top