©
This document uses PHP Chinese website manual Release
(PHP 4 >= 4.0.3, PHP 5)
pg_put_line — 向 PostgreSQL 后端发送以 NULL 结尾的字符串
$connection
], string $data
)pg_put_line() 向 PostgreSQL 后端服务器发送以 NULL 结尾的字符串。例如可以通过 PostgreSQL 的 COPY 操作来向表中高速插入数据。结尾的 NULL 字符会自动加入。
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:
应用程序必须明确地在 pg_end_copy() 之前最后一行发送两个字符 "\." 来向后端指明发送数据结束。
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.
connection
PostgreSQL database connection resource. When
connection
is not present, the default connection
is used. The default connection is the last connection made by
pg_connect() or pg_pconnect() .
data
A line of text to be sent directly to the PostgreSQL backend. A NULL terminator is added automatically.
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Example #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 );
?>
[#1] kurt at nospam dot milliganshome dot net [2005-08-22 09:08:41]
This is the function you need if you are running into the infamous "must be superuser to COPY to or from a file" error from postgres.