(PHP 8 >= 8.4.0)
Pdo\Pgsql::copyFromArray — Copy data from a PHP array into a table
$tableName,$rows,$separator = "\t",$nullAs = "\\\\N",$fields = null
Copies data from rows array to table
tableName using separator
as fields delimiter and fields list.
| Version | Description |
|---|---|
| 8.5.0 |
rows now also accepts a
Traversable; previously only an
array was accepted.
|
Example #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";
}
?>The above example will output:
1 apple 10 2 banana 20 3 cherry 30