Bonsoir à tous,

débutant en PHP, je travaille sous Eclipse 3.2 avec le plug-in PHPEclipse sous Windows XP SP2. J'essaye d'accèder à la table CD (contenant 3 enregistrements) d'une base de données Postgresql (nommée elle aussi CD) comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
	$bd = pg_connect("host=localhost port=5432 dbname=CD user=postgres password=titi") or die("Sélection de la base de données impossible !<BR>");
 
	if (!pg_connection_busy($bd)){
	    pg_send_query($bd, "select * from CD; select count(*) from CD;");
	}	
 
	$res1 = pg_get_result($bd);
	echo "Premier appel de pg_get_result() : $res1<BR>";
	$rows1 = pg_num_rows($res1);
	echo "$res1 a $rows1 enregistrements<BR><BR>";
 
	$res2 = pg_get_result($bd);
	echo "Second appel de pg_get_result() : $res2<BR>";
	$rows2 = pg_num_rows($res2);
	echo "$res2 a $rows2 enregistrements<BR>";
?>
A l'exécution, j'obtiens le résultat suivant !

Premier appel de pg_get_result() : Resource id #3
Resource id #3 a 0 enregistrements

Second appel de pg_get_result() :

Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in e:\program files\easyphp1-8\www\formation_php\test_postgresql.php on line 31
a enregistrements
Ma table CD contient réellement 3 enregistrements, pourtant le premier pg_num_rows en retourne 0 !

Et apparemment le second pg_get_result ne retourne rien du tout (d'où le message d'erreur final) mais je ne comprends pas pourquoi !

Y aurait-il une âme charitable pour m'expliquer où je me trompe ? Merci d'avance !

Mafate