(PHP 8 >= 8.4.0)
Pdo\Pgsql::copyFromArray — Copia dados de um array PHP para uma tabela
$tableName,$rows,$separator = "\t",$nullAs = "\\\\N",$fields = null
Copia dados do array rows para a tabela
tableName usando separator
como delimitador de campos e uma lista de campos no parâmetro fields.
tableNamerowsseparator.
separatorrows.
nullAsNULL.
fields| Versão | Descrição |
|---|---|
| 8.5.0 |
rows agora aceira um
Traversable; anteriormente somente um
array era aceito.
|
Exemplo #1 Exemplo de Pdo\Pgsql::copyFromArray()
Cada elemento de rows é um registro cujos campos são
conectados por separator (uma tabulação por padrão).
<?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";
}
?>O exemplo acima produzirá:
1 apple 10 2 banana 20 3 cherry 30