Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & Oracle
PHP & Oracle Forum d'entraide sur Oracle avec PHP. Avant de poster -> FAQ Oracle et Cours Oracle
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 19/04/2006, 14h00   #1
Membre à l'essai
 
Inscription : septembre 2003
Messages : 112
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 112
Points : 22
Points : 22
Envoyer un message via MSN à osmoze
Par défaut oci_num_rows ne retourne pas de résultat (0)

salut a tous,
je ne sais plus quoi faire.

J'essai d'executer la requete suivante:
select nom, prenom, count(nom) from contact group by nom

puis d'afficher les résultats.
mais la fonction oci_num_rows me retourne 0

alors qu'en faisant ma requete directement sous sqlplus, j'obtiens 4 lignes.

D'ou peut venir le probleme?
merci d'avance
osmoze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 14h02   #2
Membre éclairé
 
Avatar de johweb
 
Inscription : décembre 2003
Messages : 332
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : décembre 2003
Messages : 332
Points : 316
Points : 316
Citation:
int oci_num_rows ( resource stmt ) oci_num_rows retourne le nombre de lignes affectées durant la dernière commande Oracle stmt
.
NoteCette fonction ne retourne pas le nombre de lignes sélectionnées. Pour les commandes de type SELECT, cette fonction va retourner le nombre de ligne qui ont été lues dans le buffer avec oci_fetch*
http://doc.domainepublic.net/php/doc...-num-rows.html
johweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 14h06   #3
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
Bonjour,

il faut que tu utilises oci_num_fields qui te retourne le nombre de colonnes
http://gr2.php.net/manual/fr/functio...num-fields.php
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 14h19   #4
Membre à l'essai
 
Inscription : septembre 2003
Messages : 112
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 112
Points : 22
Points : 22
Envoyer un message via MSN à osmoze
c'est pour ca!!!!

MERCI A VOUS 2 pour votre efficacité.
osmoze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 14h26   #5
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
si cela fonctionne avec oci_num_fields(), pense au petit tag
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 15h20   #6
Membre à l'essai
 
Inscription : septembre 2003
Messages : 112
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 112
Points : 22
Points : 22
Envoyer un message via MSN à osmoze
je viens de tester, ca ne fonctionne pas!
la fonction oci_num_fields() me retourne le nombre de colonne et non le nombre de ligne...

une autre piste?
encore merci
osmoze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 15h25   #7
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
comme le disait johweb, tu utilise la fonction oci_fetch_array() et puis tu fais un count() de ton tableau.
Je n'ai pas trouve mieux
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 16h19   #8
Membre à l'essai
 
Inscription : septembre 2003
Messages : 112
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 112
Points : 22
Points : 22
Envoyer un message via MSN à osmoze
pourquoi ne pas faire directement:
Code :
1
2
3
4
5
6
 
 
$i=0;
while($monarray =oci_fetch_array($result, OCI_ASSOC)){<blockquote>echo $monarray[$i]['nom'];
$i++;
</blockquote>}
ca devrai marché ca?

Temps que j'ai des resultats, affiche moi la valeur?
osmoze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 16h35   #9
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
bien sur que cela va marcher, sauf que avec l'option OCI_ASSOC tu n'as besoin que de faire:
Code :
1
2
 
echo $monarray['nom']
je croyais que tu voulais absolument le nombre de lignes et en fait tu ne veux qu'afficher les valeurs. desole je n'avais pas compris ta question
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 17h13   #10
Membre à l'essai
 
Inscription : septembre 2003
Messages : 112
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 112
Points : 22
Points : 22
Envoyer un message via MSN à osmoze
j'm'étais tres mal exprimé.
mais j'ai trouvé la solution a mon probleme avec le fetch_array...

MERCI BCP
osmoze 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 10h31.


 
 
 
 
Partenaires

Hébergement Web