Pdo\Pgsql::copyFromArray
Copy data from a PHP array into a table
Description
public bool Pdo\Pgsql::copyFromArray(
string $tableName,
arrayTraversable $rows,
string $separator = "\t",
string $nullAs = "\\\\N",
stringnull $fields = null
)
Copies data from rows array to table
tableName using separator
as fields delimiter and fields list.
Parameters
-
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.
Return Values
Returns true on success or false on failure.
Examples
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
See Also
- Pdo\Pgsql::copyToArray
- Pdo\Pgsql::copyFromFile
- Pdo\Pgsql::copyToFile