array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.pg-put-line.php', 1 => 'pg_put_line', ), 'up' => array ( 0 => 'ref.pgsql.php', 1 => 'Функции PostgreSQL', ), 'prev' => array ( 0 => 'function.pg-prepare.php', 1 => 'pg_prepare', ), 'next' => array ( 0 => 'function.pg-query-params.php', 1 => 'pg_query_params', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/pgsql/functions/pg-put-line.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pg_put_line — Передаёт на PostgreSQL сервер строку с завершающим нулём
pg_put_line() передаёт на PostgreSQL сервер
строку с завершающим нулём. Завершение строки значением NULL
необходимо при её объединении с командой PostgreSQL
COPY FROM
.
COPY
является высокоскоростным интерфейсом
передачи данных, поддерживаемым PostgreSQL. Данные передаются
одной транзакцией и не разбираются парсером.
В качестве альтернативы можно использовать функцию pg_copy_from(). Она значительно проще в использовании.
Замечание:
Перед запуском функции pg_end_copy() приложение должно сообщить о серверу о завершении передачи данных, добавив в конец последней строки символы "\.".
Использование pg_put_line() может привести к отказу операций с большими объектами, включающих функции pg_lo_read() и pg_lo_tell(). Для этих целей используйте функции pg_copy_from() и pg_copy_to().
connection
Экземпляр
класса PgSql\Connection.
Если параметр connection
не указали, функция выберет соединение по умолчанию.
Соединение по умолчанию — это последнее соединение, которое установила функция pg_connect()
или pg_pconnect().
Начиная с версии PHP 8.1.0 использование соединения по умолчанию устарело.
data
Текстовая строка для прямой пересылки на сервер. Завершающий
NULL
добавляется автоматически.
Возвращает true
в случае успешного выполнения или false
, если возникла ошибка.
Версия | Описание |
---|---|
8.1.0 |
Параметр connection теперь ожидает экземпляр
класса PgSql\Connection; раньше параметр ждал ресурс (resource).
|
Пример #1 Пример использования pg_put_line()
<?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);
?>