略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: pg_put_line

2024-11-13

pg_put_line

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

pg_put_line向 PostgreSQL 后端发送以 NULL 结尾的字符串

说明

pg_put_line(resource $connection = ?, string $data): bool

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.

注意:

应用程序必须明确地在 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

范例

示例 #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);
?>

参见

add a noteadd a note

User Contributed Notes 2 notes

up
2
kurt at nospam dot milliganshome dot net
16 years ago
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.
up
0
smcbride at msn dot com
1 year ago
When using this function, don't get bit by using 'literal\tanotherliteral\n' issue by using single quotes vs. double quotes.  "literal\tanotherliteral\n" is not the same.  Many of the functions are impacted on how double quotes treats escape characters different than single quotes.  I forget it all the time.

官方地址:https://www.php.net/manual/en/function.pg-put-line.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3