Pdo\Pgsql::copyFromFile
Copy data from file into table
Description
public bool Pdo\Pgsql::copyFromFile(
string $tableName,
string $filename,
string $separator = "\t",
string $nullAs = "\\\\N",
stringnull $fields = null
)
Copies data from file specified by filename
into table tableName using
separator as fields delimiter and fields list
Parameters
-
tableName
-
String containing table name.
-
filename
-
Filename containing the data to import.
-
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.
Errors/Exceptions
If filename cannot be opened for reading, the failure
is reported through the connection's error handling
(see PDO::ATTR_ERRMODE); with
PDO::ERRMODE_EXCEPTION a
PDOException is thrown.
Examples
Example #1 Pdo\Pgsql::copyFromFile example
The file holds one record per line, with fields 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)');
file_put_contents('/tmp/fruits.tsv', "1\tapple\t10\n2\tbanana\t20\n");
$db->copyFromFile('fruits', '/tmp/fruits.tsv');
echo $db->query('SELECT count(*) FROM fruits')->fetchColumn(), "\n";
?>
The above example will output:
See Also
- Pdo\Pgsql::copyToFile
- Pdo\Pgsql::copyFromArray
- Pdo\Pgsql::copyToArray