Pdo\Pgsql::copyFromArray

(PHP 8 >= 8.4.0)

Pdo\Pgsql::copyFromArray — Copy data from a PHP array into a table

说明

public function Pdo\Pgsql::copyFromArray(
    string $tableName,
    array|Traversable $rows,
    string $separator = "\t",
    string $nullAs = "\\\\N",
    ?string $fields = null
): bool

Copies data from rows array to table tableName using separator as fields delimiter and fields list.

参数

tableName

String containing table name.

rows

An indexed array (or Traversable) of strings with fields separated by separator.

separator

Delimiter used to separate fields in an entry of the rows array.

nullAs

How to interpret SQL NULL values.

fields

List of fields to insert.

返回值

成功时返回 true, 或者在失败时返回 false。

更新日志

版本 说明
8.5.0 rows now also accepts a Traversable; previously only an array was accepted.

示例

示例 #1 Pdo\Pgsql::copyFromArray() example

Each element of rows is one record whose fields are joined by separator (a tab by default).

<?php
$db = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec('CREATE TABLE fruits (id int, name text, qty int)');

$rows = [
    "1\tapple\t10",
    "2\tbanana\t20",
    "3\tcherry\t30",
];
$db->copyFromArray('fruits', $rows);

foreach ($db->query('SELECT * FROM fruits ORDER BY id') as $row) {
    echo "{$row['id']} {$row['name']} {$row['qty']}\n";
}
?>

以上示例会输出:

1 apple 10
2 banana 20
3 cherry 30

参见

+添加备注

用户贡献的备注

此页面尚无用户贡献的备注。