Messages d'ereur

Résolu/Fermé
logoni
Messages postés
19
Date d'inscription
lundi 20 juillet 2009
Statut
Membre
Dernière intervention
27 septembre 2009
- 20 juil. 2009 à 12:16
 logoni - 6 août 2009 à 09:53
Bonjour,j'ai installer séparement wampserver et postgreSQL sur ma machine,et j'aimerais me connecter à partir de wamp à ma base de données postgreSQL et à chaque fois j'obtiens ces 2 mesages d'ereur

Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: invalid connection option "hostname" in C:\wamp\www\gdt\postgreSQL.php on line 12

Warning: pg_close() expects parameter 1 to be resource, boolean given in C:\wamp\www\gdt\postgreSQL.php on line 16
et voici mon code de conexion
<?php
$conn =("hostname=localhost port=5432 dbname= gdt user=postgres password=lavielle");
$dbconn = pg_connect("$conn");
// connexion à une base de données nommée "gdt" sur l'hôte "localhost" avec un
// nom d'utilisateur"postgres" et un mot de passe"lavielle"

pg_close($dbconn);

?>
merci de m'aider ça fait des jours que je tourne en rond et pourtant ces informations sont les bonnes.aidez moi svp

17 réponses

arth
Messages postés
9368
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 363
20 juil. 2009 à 12:33
Invalid connection option "hostname" ==> L'option hostname dans ta ligne $conn n'existe visiblement pas.

IL ne s'agirait pas plutôt de host=?
0
logoni
Messages postés
19
Date d'inscription
lundi 20 juillet 2009
Statut
Membre
Dernière intervention
27 septembre 2009

21 juil. 2009 à 10:41
bjour,
ta raison hier en reflechissant bien j'ai finalement mis 'host' au lieu de 'hostname' et ça marché mais j'ai un autre problème et je voudrais connnaitre ton avis sur ça,après avoir me connecté à ma base de donnée ,j'ai lancer une requète sql et je veux afficher les resultats sous forme de tableau donc je reprends le code dépuis le début:

<?php
$conn =("hostname=localhost port=5432 dbname= gdt user=postgres password=lavielle");
$dbconn = pg_connect("$conn");
// connexion à une base de données nommée "gdt" sur l'hôte "localhost" avec un
// nom d'utilisateur"postgres" et un mot de passe"lavielle"
// lancement de la requète
$sql = pg_query ("select* from projet");
$resultat= pg_exec ($dbconn,$sql);
// utilisation de la boucle tant que
(while infos = pg_fetch_array($sql) ) {
echo $ infos = [ id-projet];
echo $ infos = [ nom-projet];
echo $ infos = [ code-mo];
echo $ infos = [ resultat-projet];
echo $ infos = [ montant-projet];
echo $ infos = [ code-localisation];
echo $ infos = [ id-nature];
echo $ infos = [ code-etat]; }

pg_close($dbconn);
?>
apparenment ma boucle n'est pas bien exécuté car ça m'affiche parse error. merci et j'attends vos suggestions avec imapatience
0
logoni
Messages postés
19
Date d'inscription
lundi 20 juillet 2009
Statut
Membre
Dernière intervention
27 septembre 2009

21 juil. 2009 à 10:58
bjour,
hier en reflechissant bien j'ai finalement mis 'host' au lieu de 'hostname' et ça marché mais j'ai un autre problème et je voudrais connnaitre vos avis sur ça,après avoir me connecté à ma base de donnée ,j'ai lancer une requète sql et je veux afficher les resultats sous forme de tableau donc je reprends le code dépuis le début:

<?php
$conn =("hostname=localhost port=5432 dbname= gdt user=postgres password=lavielle");
$dbconn = pg_connect("$conn");
// connexion à une base de données nommée "gdt" sur l'hôte "localhost" avec un
// nom d'utilisateur"postgres" et un mot de passe"lavielle"
// lancement de la requète
$sql = pg_query ("select* from projet");
$resultat= pg_exec ($dbconn,$sql);
// utilisation de la boucle tant que
(while infos = pg_fetch_array($sql) ) {
echo $ infos [ id-projet];
echo $ infos [ nom-projet];
echo $ infos [ code-mo];
echo $ infos [ resultat-projet];
echo $ infos [ montant-projet];
echo $ infos [ code-localisation];
echo $ infos [ id-nature];
echo $ infos [ code-etat]; }

pg_close($dbconn);
?>
apparenment ma boucle n'est pas bien exécuté car ça m'affiche parse error. merci et j'attends vos suggestions avec imapatience
0
arth
Messages postés
9368
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 363
21 juil. 2009 à 12:24
Tu as mis des espaces entre les $ et les infos?
0
logoni
Messages postés
19
Date d'inscription
lundi 20 juillet 2009
Statut
Membre
Dernière intervention
27 septembre 2009

21 juil. 2009 à 16:21
merci pour les infos, je peux dire que cava bcoup mieux parce que j'obtiens ma page mais avec 2 messages d'ereur en tète de la page que je vais t'envoyer pour que tu regardes :
Warning: pg_exec() [function.pg-exec]: Query failed: ERROR: syntax error at or near "@" LINE 1: $dbconn,$sql ^ in C:\wamp\www\gdt\postgreSQL.php on line 16
2PUIT2réalisé6000002223AGRICULTURE3réalisé7000003331FORAGE1réalisé1000000111.le premier mesage on peut déchiffré ça mais le second j'avoue ne rien comprendre.à biento
0
logoni
Messages postés
19
Date d'inscription
lundi 20 juillet 2009
Statut
Membre
Dernière intervention
27 septembre 2009

21 juil. 2009 à 16:28
je t'envoie le code que j'avais oublié
<?php
$conn =("host=localhost port=5432 dbname= gdt user=postgres password=lavielle");
$dbconn = pg_connect("$conn");
// connexion à une base de données nommée "gdt" sur l'hôte "localhost" avec un
// nom d'utilisateur"postgres" et un mot de passe"lavielle"

$sql = pg_query("select * from projet");
$resultat=pg_exec('$dbconn,$sql');

while($infos = pg_fetch_array($sql)) {
echo $infos['id-projet'];
echo $infos['nom-projet'];
echo $infos['code-mo'];
echo $infos['resultat-projet'];
echo $infos['montant-projet'];
echo $infos['code-localisation'];
echo $infos['id-nature'];
echo $infos['code-etat'];}
pg_close($dbconn);
?>
tes remarques seront les bien venues
0

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

Posez votre question
arth
Messages postés
9368
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 363
21 juil. 2009 à 17:14
AH mon avis c'est ça qui cloche :

$resultat=pg_exec('$dbconn,$sql');

Essaie $resultat=pg_exec($dbconn,$sql); qui devrait mieux marcher.

Loup.
0
logoni
Messages postés
19
Date d'inscription
lundi 20 juillet 2009
Statut
Membre
Dernière intervention
27 septembre 2009

21 juil. 2009 à 18:37
J'ai plus de mesages d'erreur, mais j'obtiens toujours ce message :
2PUIT2réalisé6000002223AGRICULTURE3réalisé7000003331FORA­­GE1réalisé1000000111
en haut de ma page.html en verticale , ce charabia qui n'a rien avoir dans mon code , je t'envoie le code en intégralité pour que tu me donnes ton avis
?php
$conn =("host=localhost port=5432 dbname= gdt user=postgres password=lavielle");
$dbconn = pg_connect("$conn");
// connexion à une base de données nommée "gdt" sur l'hôte "localhost" avec un
// nom d'utilisateur"postgres" et un mot de passe"lavielle"

$sql = pg_query("select * from projet");


while($infos = pg_fetch_array($sql)) {
echo $infos['id-projet'],'<br/>';
echo $infos['nom-projet'],'<br/>';
echo $infos['code-mo'],'<br/>';
echo $infos['resultat-projet'],'<br/>';
echo $infos['montant-projet'],'<br/>';
echo $infos['code-localisation'],'<br/>';
echo $infos['id-nature'],'<br/>';
echo $infos['code-etat'],'<br/>'; }
pg_close($dbconn);
?>
finalement j'ai enveler cette partie $resultat=pg_exec('$dbconn,$sql');
0
arth
Messages postés
9368
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 363
21 juil. 2009 à 20:02
Ah mon avis ,cette ligne, ce sont les données de ta base.

Concrètement tu ne fais que les requester, mais tu ne spécifies pas leur affichage, efin à moitié.

Les © que l'on voit à mon avis ce sont les <br> que tu as essayé d'indiquer.

Je te propose de faire :

while($infos = pg_fetch_array($sql)) {
echo $infos['id-projet']; echo "<br>";
echo $infos['nom-projet']; echo "<br>";
echo $infos['code-mo']; echo "<br/>";
echo $infos['resultat-projet']; echo "<br/>";
echo $infos['montant-projet']; echo "<br/>";
echo $infos['code-localisation']; echo "<br/>";
echo $infos['id-nature']; echo "<br/>";
echo $infos['code-etat']; echo "<br/>";
pg_close($dbconn);

0
jeangilles
Messages postés
816
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
17 juillet 2012
184
21 juil. 2009 à 20:08
Heu non rien à voir
ca vient d'un mauvais encodage de tes pages. Du coup, les caractères "spéciaux" comme le "é" sont mal interprétés

vas voir ici, t'as une explication primaire sur l'encodage UTF-8, qui fonctionne bien avec tous les caractères de toutes les langues :
http://www.allhtml.com/articles/detail/896
0
arth
Messages postés
9368
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 363
21 juil. 2009 à 20:09
OUi certes l'encodage mais si il laisse tel quel, il aura le même affichage.

Il faut donc bien qu'il sépare ses données pour les rendre visibles.
0
jeangilles
Messages postés
816
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
17 juillet 2012
184
21 juil. 2009 à 20:12
Ben non, faut juste rajouter une balise meta dans la page (et pendant qu'il y est un doctype aussi ^^) qui définirait un charset potable à sa page

séparer les echo ne résoudra rien ...
0
arth
Messages postés
9368
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 363
21 juil. 2009 à 20:23
Mais je ne veux pas séparer les echo ^^

Ceux qu'il affiche dans son code ne marche pas, c'est pour ça que je donne l'autre.
0
jeangilles
Messages postés
816
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
17 juillet 2012
184
21 juil. 2009 à 20:27
Ben si ca marche son code ^^
enfin ca marche mais ca afficherait français si il changeait son charset, mais c'est tout ^^
0
arth
Messages postés
9368
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 363
21 juil. 2009 à 20:34
Dans ce cas si son code marche, pourquoi il affiche une seule ligne comme ça :
2PUIT2réalisé6000002223AGRICULTURE3réalisé7000003331FORA­­­GE1réalisé1000000111

Alors que les BR sont censés renvoyer à la ligne.

Donc pour moi ça ne marche pas ^^
0
jeangilles
Messages postés
816
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
17 juillet 2012
184
21 juil. 2009 à 20:37
en fait son post est en plusieurs parties XD
dans une autre, il a dit ca :

"si je mets les '<br/>' ça serait en verticale ce charabia n'a rien avoir dans mon code"
0
bjour, j'ai un code dynamique qui permet d'alimenter directement ma base de données sous postgresql mais mon soucis est que :je voudrais avoir un code qui me permet de remplacer les codes numériques par leur valeurs textuelles. ça c'est le code entier :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<title> gestion de projet </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


</head>
<body>

<?php
$conn =("host=localhost port=5432 dbname= gdt user=postgres password=gabero");
$dbconn = pg_connect("$conn");
// connexion à une base de données nommée "gdt" sur l'hôte "localhost" avec un
// nom d'utilisateur"postgres" et un mot de passe"gabero"
// éxecution de la requète SQL
$sql = pg_query("select * from projet");
//En-tete du tableau
echo "<table border=\"1\" >
<caption><strong> PROJET</strong></caption>
<tr>
<td>id-projet</td>
<td>nom-projet</td>
<td>code-mo</td>
<td>resultat-projet</td>
<td>montant-projet</td>
<td>code-localisation</td>
<td>id-nature</td>
<td>id-date</td>
<td>code-etat</td>
</tr>";
// utilisation de la boucle tant que
while($infos = pg_fetch_array($sql)) {
// affichage des resultats
echo"<tr>";//ligne du tableau
echo "<td>";echo $infos['id-projet'];echo "</td>";
echo "<td>";echo $infos['nom-projet'];echo "</td>";
echo "<td>";echo $infos['code-mo'] ;echo "</td>";
echo "<td>";echo $infos['resultat-projet'] ;echo "</td>";
echo "<td>";echo $infos['montant-projet'] ;echo "</td>";
echo "<td>";echo $infos['code-localisation'] ;echo "</td>";
echo "<td>";echo $infos['id-nature'] ;echo "</td>";
echo "<td>";echo $infos['id-date'] ;echo "</td>";
echo "<td>";echo $infos['code-etat'];echo "</td>";
echo"</tr>"; //fermeture de la ligne
} //fermeture du tant que
echo "</table>";//fermeture du tableau
pg_close($dbconn);
?>
</body>
</html>
je code me permet d'afficher des lignes du genre

id-projet nom-projet code-mo resultat-projet montant-projet code-localisation id-nature id-date code-etat
1 FORAGE 1 réalisé 500000 1 1 1 1
et je voudrais avoir un code qui m'affiche mes lignes de cette façon suivante:

id-projet nom-projet code-mo resultat-projet montant-projet code-localisation id-nature id-date code-etat
1 FORAGE stp réalisé 500000 Mandé Agriculture 2000-04-12 en cours
vous comprenenez un peu ma préocupation j'ai une table principale qui s'appelle table projet et cette table contient des indentifiants liées à d'autres tables(mo,localisation,nature,date,etat).merci
0
Bonjour,
j'ai une table principale Projet qui contient des identifants(clés étrangères) liés à d'autres tables (Localisation,nature,mo,date,etat), contenant la liste des projets, et des références à d'autres informations liées au projet : code-localisation, id-nature, code-etat,code-mo,id-date.
dans ma base, j'ai pour chaque code une table qui me donne la correspondance entre le code, et un libellé plus compréhensible. ce que je veux pour chacun des codes: remplacer les codes numériques par leurs valeurs textuelles.
pour cela il me faut aller chercher les infos dans les autres tables.
ça c'est le code:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<title> gestion de projet </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


</head>
<body>

<?php
$conn =("host=localhost port=5432 dbname= gdt user=postgres password=gabero");
$dbconn = pg_connect("$conn");
// connexion à une base de données nommée "gdt" sur l'hôte "localhost" avec un
// nom d'utilisateur"postgres" et un mot de passe"gabero"
// éxecution de la requète SQL
$sql = pg_query("select * from projet");
//En-tete du tableau
echo "<table border=\"1\" >
<caption><strong> PROJET</strong></caption>
<tr>
<td>id-projet</td>
<td>nom-projet</td>
<td>code-mo</td>
<td>resultat-projet</td>
<td>montant-projet</td>
<td>code-localisation</td>
<td>id-nature</td>
<td>id-date</td>
<td>code-etat</td>
</tr>";
// utilisation de la boucle tant que
while($infos = pg_fetch_array($sql)) {
// affichage des resultats
echo"<tr>";//ligne du tableau
echo "<td>";echo $infos['id-projet'];echo "</td>";
echo "<td>";echo $infos['nom-projet'];echo "</td>";
echo "<td>";echo $infos['code-mo'] ;echo "</td>";
echo "<td>";echo $infos['resultat-projet'] ;echo "</td>";
echo "<td>";echo $infos['montant-projet'] ;echo "</td>";
echo "<td>";echo $infos['code-localisation'] ;echo "</td>";
echo "<td>";echo $infos['id-nature'] ;echo "</td>";
echo "<td>";echo $infos['id-date'] ;echo "</td>";
echo "<td>";echo $infos['code-etat'];echo "</td>";
echo"</tr>"; //fermeture de la ligne
} //fermeture du tant que
echo "</table>";//fermeture du tableau
pg_close($dbconn);
?>
</body>
</html>

ce code me permet d'afficher des lignes du genre

id-projet nom-projet code-mo resultat-projet montant-projet code-localisation id-nature id-date code-etat
1 FORAGE 1 réalisé 500000 1 1 1 1
et je voudrais avoir un code qui m'affiche mes lignes de cette façon suivante:

id-projet nom-projet code-mo resultat-projet montant-projet code-localisation id-nature id-date code-etat
1 FORAGE stp réalisé 500000 Mandé Agriculture 2000-04-12 en cours
VOUS comprenez un peu ma preocupation.merci de me precisé un point que vous ne comprenez.venez moi en aide ça des jours que je tourne en rond
0