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