see also: pg_put_line for a solution that does not require buffering of all the data to be copied,
pg_copy_from
(PHP 4 >= 4.2.0, PHP 5)
pg_copy_from — Insère des lignes dans une table à partir d'un tableau
Description
pg_copy_from() insère les éléments du tableau rows dans une table. Cette fonction utilise la commande SQL interne COPY FROM.
Liste de paramètres
- connection
-
Ressource de connexion de base de données PostgreSQL.
- table_name
-
Nom de la table dans laquelle rows sera copié.
- rows
-
Un tableau de données à être copié à l'intérieur de table_name . Chaque valeur dans rows devient une ligne dans table_name . Chaque valeur dans rows devrait être une chaîne délimitée par des valeurs à insérer à l'intérieur de chaque champ. Les valeurs doivent être terminées par un saut à la ligne.
- delimiter
-
Le marqueur qui sépare les valeurs pour chaque champ dans chaque élément de rows . La valeur par défaut est TAB.
- null_as
-
Comment les valeurs NULL de SQL sont représentées dans rows . La valeur par défaut est \N ("\\N").
Valeurs de retour
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
Exemples
Exemple #1 Exemple avec pg_copy_from()
<?php
$db = pg_connect("dbname=publisher") or die("Connexion impossible");
$rows = pg_copy_to($db, $table_name);
pg_query($db, "DELETE FROM $table_name");
pg_copy_from($db, $table_name, $rows);
?>
pg_copy_from
11-Jun-2009 12:08
26-Aug-2007 11:24
pg syntax is :
COPY test (cola, colb, colc) FROM stdin;
...
this function doesn't let you in which order the columns are !
19-Mar-2003 10:38
By default NULL values are a backslash followed with capital N ("\\N").
Also, you can't insert entries with OIDs (I've added it to my TODO list though)
10-Sep-2002 12:06
Something needs to be said about the format of the array.
Judging by what I've seen, it's pretty much what you get
from loading a tab-separated file with file(). That is, the
lines are linefeed-terminated and there's no need to have
an extra line with "\.". On the other hand, when I try using this
command the connection to the server ends up in some odd
state and is then lost:
PHP Warning: UåSèo() query failed: server closed the connection unexpectedly
I think it might be safer to use the lower-level function
pg_put_line() for now.
For starters, you can check the first line of every function document. It tells the minimum versions of PHP that you need in order to use the function.
