Remplissage de postgres en php

Résolu/Fermé
petittrain - 7 déc. 2009 à 14:27
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 - 8 déc. 2009 à 12:24
Bonjour,

onjour,

je n'arrive pas à remplir une table à partir de php bien que j'ai récupéré les info

//récupération des donnée
$date_redaction=$_POST["date"];
$typedocument=$_POST["typedocument"];

// enregistrement des fichiers sur le pc dans lequel est enregistré ce code au niveau de C:
$chemin_destination ='C:\ms4w\Apache\htdocs\telechargement_doc/';

//déplacement du dossier temporaire vers le dossier final
move_uploaded_file($_FILES['nom_du_fichier']['tmp_name'], $chemin_destination.$_FILES['nom_du_fichier']['name']);


move_uploaded_file($_FILES['nom_du_fichier2']['tmp_name'], $chemin_destination.$_FILES['nom_du_fichier2']['name']);

//ouverture de la BD
/* $db = pg_connect("host=orsay port=5432 dbname=gestion_documentaire user=pgt password=postgres1");

$query='SELECT DISTINCT "disponibilite" FROM "en_modifications" where "identifiant_document" like '.$_FILES['nom_du_fichier']['name']; //marché avec where like 1
$result=pg_query($query) or die('Echec de la requête :'.pg_last_error());



//ouverture de la BD pour remplissage des différente table
$db = pg_connect("host=orsay port=5432 dbname=gestion_documentaire user=pgt password=postgres1");

//enregistrement dans la table indices (table de base des fichiers qui sont stockés après en plusieurs version

$z=10;
$query='INSERT INTO indice (
id, type, date, disponibilite, titre)
VALUES ('.$z.','.$typedocument.','.str_replace("-","",$date_redaction).',"true",'.str_replace (".","",$_FILES['nom_du_fichier']['name']).')';


$resultat = pg_query($db, $query);

pg_close($db);


exit();


avant le exit si on place un echo de query on a
INSERT INTO indice ( id, type, date, disponibilite, titre) VALUES (10,procedure,07122009,"true",createtab1sql)

le message d'erreur est le suivant
Warning: pg_query() [function.pg-query]: Query failed: ERROR: column "procedure" does not exist LINE 3: VALUES (10,procedure,07122009,"true",createtab1sql)

les arguments des paramètres sont des "text"

merci d'avance de votre aide

Configuration: Windows XP
Firefox 3.5.5
A voir également:

6 réponses

salut,

en faisant des essais j'ai trouvé la solution est

$query='INSERT INTO indice
VALUES ($identifant,'$lien_document','$date_enregistrement','$type','$disponibilite_total')';


merci pour vos conseils quand même.
1
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
7 déc. 2009 à 14:31
$query = 'INSERT INTO indice(id, type, date, disponibilite, titre) VALUES('.$z.',"'.$typedocument.'","'.str_replace("-","",$date_redaction).'", true,"'.str_replace(".","",$_FILES['nom_du_fichier']['name']).'")';
0
salut,

je te remerci pour ta réponse, j'ai essayé ta solution
mais j'ai toujours la même erreur.

Warning: pg_query() [function.pg-query]: Query failed: ERROR: column "procedure" does not exist LINE 1: ...e(id, type, date, disponibilite, titre) VALUES(10,procedure,... ^ in C:\ms4w\Apache\htdocs\telechargement_doc\upload1.php on line 103

alors que le type des colonnes est
id SERIAL PRIMARY KEY ,
type VARCHAR (50 ) NOT NULL ,
date VARCHAR (50 ) NOT NULL ,
disponibilite VARCHAR (50 ) NOT NULL ,
titre VARCHAR (50 ) NOT NULL

je ne comprend pas ou est l'erreur.
0
salut,

j'ai essayé les 2 solution bool ou de mettre des "true", en changeant de type cela n'a rien changé

mais en essayant
$db = pg_connect("host=orsay port=5432 dbname=gestion_documentaire user=pgt password=postgres1");
//enregistrement des paramètres pour la table indice
$query='INSERT INTO indicess
VALUES ('.$identifant.','.$lien_document.','.$date_enregistrement.','.$type.','.$disponibilite_total.')';

//execution de la requette d'enregistrement
pg_query($db,$query);

avec les variable en chiffre (autre chose j'ai des erreurs)
CREATE TABLE indicess
(
identifiant integer NOT NULL,
lien_document text,
date_enregistrement text,
"type" text,
disponibilite_total text,
CONSTRAINT identifiant PRIMARY KEY (identifiant)
)
WITHOUT OIDS;
ALTER TABLE indicess OWNER TO pgt;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
8 déc. 2009 à 12:24
D'abord si le problème est résolu, indique le !
0
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
7 déc. 2009 à 15:41
C'est parce que ton champ "disponibilite" est un VARCHAR, et on tente d'y insérer un BOOL (booléen).
Donc soit tu entoures true par des guillemets, soit tu changes le type du champ en BOOL (la meilleur des solutions).
-1