(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.
tableNameString contendo o nome da tabela.
rows
Um array indexado (ou Traversable) de
strings com campos separados por
separator.
separator
Delimitador usado para separar campos em uma entrada do
array rows.
nullAs
Como interpretar valores SQL NULL.
fieldsLista de campos a serem inseridos.
| 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