Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/05/2007, 15h14   #1
Candidat au titre de Membre du Club
 
Inscription : janvier 2006
Messages : 109
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 109
Points : 11
Points : 11
Par défaut erreur d'insertion dans ma base

bonjour,
j essaye d'inserer un certain nombre d'enregistrement dans ma base , mais je n'arrive pâs:
Code :
1
2
3
4
5
 
<? $conn = pg_connect("host=localhost dbname=test user=test password=test")OR die('Connexion impossible : ' . pg_last_error());
 
$ins="INSERT INTO REGION(libelle_region, code_regionp, id_region)VALUES ('tunis', 1981,007)";
$inser=pg_query($conn,$ins)OR die('Connexion impossible : ' . pg_last_error());			?>
et voici le msg d'erreur:

Warning: pg_query() [function.pg-query]: Query failed: ERROR: relation "region" does not exist in C:\Program Files\EasyPHP1-8\www\zen\ma_page.php on line 6
Connexion impossible : ERROR: relation "region" does not exist
ANISSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 16h32   #2
Membre actif
 
Avatar de budtucker
 
Développeur multimédia
Inscription : avril 2007
Messages : 175
Détails du profil
Informations professionnelles :
Activité : Développeur multimédia

Informations forums :
Inscription : avril 2007
Messages : 175
Points : 174
Points : 174
Si ta table "REGION" est enregistrée dans PostGre en majuscule, il faut que dans ta requête, cette table soit entourée de guillemet :
Code :
1
2
 
INSERT INTO "REGION"(libelle_region, code_regionp, id_region)VALUES ('tunis', 1981,007);
Postgre fait la différence entre minuscule et majuscule. Même si tu n'as qu'une seule lettre en majuscule, il faut ajouter des guillemets.
budtucker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 16h34   #3
Expert Confirmé Sénior
 
Avatar de GrandFather
 
Inscription : mai 2004
Messages : 4 490
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mai 2004
Messages : 4 490
Points : 5 049
Points : 5 049
Bonjour,

PostgreSQL est sensible à la casse, donc REGION n'est pas équivalent à region. Si le nom de ta table est en majuscules, il faut l'écrire entre guillemets ("REGION") sinon Postgres l'interprètera en minuscules (d'où le message d'erreur que tu obtiens) ; sinon, tu laisses le nom en minuscules.
__________________
FAQ XML
------------
« Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
Giacomo Leopardi
GrandFather est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 17h05   #4
Candidat au titre de Membre du Club
 
Inscription : janvier 2006
Messages : 109
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 109
Points : 11
Points : 11
désolé les gas, mais meme en changeant le nom de la table en majuscule ca donne ça:

Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "'REGION'" LINE 1: INSERT INTO 'REGION'(libelle_region, code_regionp)VALUES ('t... ^ in C:\Program Files\EasyPHP1-8\www\zen\connexion.php on line 6
ERROR: syntax error at or near "'REGION'" LINE 1: INSERT INTO 'REGION'(libelle_region, code_regionp)VALUES ('t... ^
ANISSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 17h44   #5
jnore
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Est-ce que ta table REGION ne dépend pas par hasard d'un autre shema que 'public'?
  Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 17h46   #6
jnore
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
est-ce que tu inserts bien des chaines de caracteres dans des champs de type 'Varchar' et tes nombres dans tes integer?
  Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 17h48   #7
jnore
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
autre chose à mon avis dans ta requete tu dois metre des anti-slashes avant tes guillemets
Code :
1
2
3
4
5
6
7
 
 
 
<? $conn = pg_connect("host=localhost dbname=test user=test password=test")OR die('Connexion impossible : ' . pg_last_error());
 
$ins="INSERT INTO \"REGION\" (libelle_region, code_regionp, id_region)VALUES ('tunis', 1981,007)";
$inser=pg_query($conn,$ins)OR die('Connexion impossible : ' . pg_last_error());			?>
  Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 17h55   #8
Candidat au titre de Membre du Club
 
Inscription : janvier 2006
Messages : 109
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 109
Points : 11
Points : 11
merci bcp pour ton aide jnore,
en ajoutant les antislashes çca marcher
ANISSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h08.


 
 
 
 
Partenaires

Hébergement Web