Pdo\Pgsql::copyFromFile

(PHP 8 >= 8.4.0)

Pdo\Pgsql::copyFromFileCopy data from file into table

Beschreibung

public function Pdo\Pgsql::copyFromFile(
    string $tableName,
    string $filename,
    string $separator = "\t",
    string $nullAs = "\\\\N",
    ?string $fields = null
): bool

Copies data from file specified by filename into table tableName using separator as fields delimiter and fields list

Parameter-Liste

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.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Fehler/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.

Beispiele

Beispiel #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";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2

Siehe auch