Bonjour,
Si quelqu'un pouvait me mettre un petit bout de code php me permettant d'afficher le contenu d'une table postgres, ce serait sympa.
J'ai beau tout essayé, je n'arrive qu'à récupérer que la première ligne :(
Version imprimable
Bonjour,
Si quelqu'un pouvait me mettre un petit bout de code php me permettant d'afficher le contenu d'une table postgres, ce serait sympa.
J'ai beau tout essayé, je n'arrive qu'à récupérer que la première ligne :(
s'il vous plait!!!
voici mon code:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <?PHP function toDb($string) { require("error.php"); @$connect = pg_connect("host=sql1.lo-data.net dbname=***** user=***** password=*****"); if(!$connect) error(1); $request = pg_query($connect, $string); while($value = pg_fetch_object($request)): echo $value->login."<br />"; endwhile; if($i==0) error(6); if(!$request) error(2); if(!pg_free_result($request)) error(3); if(!pg_close($connect)) error(4); } ?>
Code:
1
2
3
4 $myres = pg_query($connect, $string); while ($row = pg_fetch_array($myres)) { echo $row["monchamp"]; }
En fait j'ai un peu mieux compris mon problème. L'erreur ne vient pas de ma recupération. Elle vient de la connexion. Rien ne m'indique que j'ai une erreur à la connection MAIS je ne recupere en fait aucune ligne, comme si la table n'existait pas.
²
Le $num me renvoie 0Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?PHP function toDb($string) { # le probleme doit venir d'ici!!!!! $connect = pg_connect("host=sql1.lo-data.net dbname=bricecol user=bricecol password=****"); #---------------------------------- $request = pg_query($connect, $string); $num = pg_num_rows($request); print("$num <br />"); while($row = pg_fetch_array($request)): print($row['login']."<br />"); endwhile; pg_free_result($request); pg_close($connect); } ?>
comment se connecter correctement vers un phpPgAdmin 3.5.1 ?
Tu ne te conencte pas à phpPgAdmin qui une interface web permettant la gestion d'un base Postgres...Code:
1
2 $strConnect = 'host='.$host.' port='.$port.' dbname='.$dbname.' user='.$'user.' password='.$'password; pg_connect($strConnect);
Tu te connecte sur un serveur hebergeant un SGBD postgres
ui enfin, ne jouon pa sur les mots. on m'a compris qd meme. c'est vrai que phpg est une interface mais bon, j'essai moi de me connecter a la base. je me connecte d'ailleur car sinon i me donnerai une erreur. j'arrive meme a recuperer une ligne des fois, mais pas le reste. c'est incomprehensible...
dans ta chaîne de connexion, je crois qu'il faut des virgules et non pas des espaces entre des différents champs
edit : je retire cela.....après prise d'info
Tu devrais essayer de gérer les erreurs un minimum, ça t'aiderait à voir d'où vient ton problème
je gere justement toutes les erreurs!! mais dans le code que je vous montre, je les ai enlevé car ca alourdissait un peu le code.
celement, cela ne m'aide pas (des fois aucune erreur et une ligne de resultat alors que j'en attend 5.., des fois une erreur et rien..) enfin, ca varie.
C'est pr ca que je pense que cela vient de la connexion ou de droits sur les tables pg j'en c rien. c'est pr ca, si quelqu'une est arivé a se servir de pg pr une consultation et qu'il a recupere ttes les infos, qu'il poste son bout de code SVP!!!
si tu penses que ton problème vient de ta connexion ou des droits sur tes tables, en quoi un bout de code qu'on te donnerait règlerait ton problème?Citation:
C'est pr ca que je pense que cela vient de la connexion ou de droits sur les tables pg j'en c rien. c'est pr ca, si quelqu'une est arivé a se servir de pg pr une consultation et qu'il a recupere ttes les infos, qu'il poste son bout de code SVP!!!
Donne nous le message d'erreur que tu as (pas tout le temps on a compris...mais c'est bizarre), la requête qui correspond et la structure de la table que tu attaques.
Je suis sous PHP 5.1, Pg 8.1 et Apache 2
Je t'ai donné un bout de code... ce que je t'ai donné est amplement suffisant, cela na viendrait pas plutot de tes requetes ? ou d'une erreur de code ?
de plus pour les probleme de droit, vérifie pg_hba.conf, et le droit que tu as donné à tes roles de connexion.
De plus si tu nous donnais tes erreurs, on pourrait un peu plus t'aider.Code:GRANT ALL PRIVILEGES ON DATABASE mabase TO monrole
j'ai crée:
POUR TESTER LE SCRIPT ET LE TELECHARGER: http://bcolucci.free.fr/requete.phpCode:
1
2
3
4 create table test( nom varchar(20) primary key, prenom varchar(20) not null);
http://img365.imageshack.us/img365/8430/screen1cj9.jpg
et on le télécharge comment ton script?
ouais super comme erreur. Celle qui m'intéresse est celle générée par ton script php pas
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Apache/ProXad [Apr 14 2007 12:48:55] Server at bcolucci.free.fr Port 80
PARDON CEST VRAI, me suis trompé quand j'ai uploadé... la c bon
http://bcolucci.free.fr/requete.php
j'ai testé mon script avec mon mot de passe, et j'ai une erreur au niveau de la requete et pas au niveau de la connection.
tu te sens obligé d'écrire avec ce formatage?
ouais super encore une fois.
Qu'est-ce que tu veux qu'on fasse avec ça?
Il faut le code php (complet avec la gestion des erreurs) qui correspond et pourquoi pas la définition des tables impliquées dans tes requêtes. Après on pourra t'aider.
je retire en partie ce que je viens de dire.
es-tu sûr que ta base contient bien la table test?
tu as le code. j'ai fais un screen qui prouve que la base existe..
je ne comprend pas plus que toi lol
ce n'est sans doute pas ça qui pose problème....mais sait-on jamais : remplace sql1.lo-data.net par l'adresse IP indiquée dans ton phpPgAdmin (192.168.3.32) dans ton script PHP.