Num_rows : au secours !!!!!

DarkCid
Messages postés
195
Date d'inscription
mardi 22 février 2005
Statut
Membre
Dernière intervention
26 octobre 2009
- 10 juil. 2006 à 21:47
davwart
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
- 12 juil. 2006 à 16:28
Yaoh !

Là g un gros problème ! J'utilise dans plein de pages le mysql_num_rows pour faire mes boucles. Sur mon PC en local sa marche impec, mais là je viens de mettre une partie du site en ligne, et sa marche plus du tout !!!!!!

C koi le bug ????
A voir également:

21 réponses

pcgpegase
Messages postés
96
Date d'inscription
lundi 24 novembre 2003
Statut
Membre
Dernière intervention
24 avril 2007
1
11 juil. 2006 à 09:23
Bonjour,

La fonction mysql_num_rows permet de retourner le nombre d'enregistrements qu'à retourner une requête.
Peux-tu donner un exemple de boucle que tu utilises ?

Bye
0
DarkCid
Messages postés
195
Date d'inscription
mardi 22 février 2005
Statut
Membre
Dernière intervention
26 octobre 2009
1
11 juil. 2006 à 09:30
Yaoh !

Moi je ve bien donner un exemple de boucle, mais :
1) l'erreur a lieu avant la boucle car je met le num_rows dans une variable
2) sa marche très bien sur mon pc, c sur le site en ligne que sa marche plus

Donc je vois pas ce ke ma boucle a à voir là dedans
0
cs_putch
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
11 juil. 2006 à 09:42
salut !

verifie peut etre tout simplement ta connexion à ta base de données ...
0
pcgpegase
Messages postés
96
Date d'inscription
lundi 24 novembre 2003
Statut
Membre
Dernière intervention
24 avril 2007
1
11 juil. 2006 à 09:48
Montre nous simplement un bout de code...
Comment veux-tu que l'on t'aide sinon ?

As-tu des messages d'erreurs ? Si oui, lesquels ?
0

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

Posez votre question
davwart
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
11 juil. 2006 à 11:06
Le bug se situe bien souvent entre l'ecran de l'ordi et la chaise. ;)
Pourrais tu nous donner ne serait-ce que le message d'erreur, car deviner ce qui se passe entre toi et ton serveur, c'est véritablement impossible.

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
DarkCid
Messages postés
195
Date d'inscription
mardi 22 février 2005
Statut
Membre
Dernière intervention
26 octobre 2009
1
11 juil. 2006 à 11:41
Yaoh !

Bon voilà un exemple de code :

$sql="SELECT * FROM utilisateur WHERE Login = '".$_POST["login"]."' AND Password = '".$_POST["passwd"]."'";
    $result=mysql_query($sql,$connexion);
    if(mysql_num_rows($result) == 0)
    {
     $valide = 0 ;
    }

et l'erreur qu'il produit :

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home.10.2/signanet/www/Pages/accueiladmin.php on line 52 (<-- c la ligne du if)
0
pcgpegase
Messages postés
96
Date d'inscription
lundi 24 novembre 2003
Statut
Membre
Dernière intervention
24 avril 2007
1
11 juil. 2006 à 12:08
Ca veut tout simplement dire qu'il y a soit :
- Un problème avec ta requète (une erreur de syntaxe ou autre),
- Un problème de connexion avec ta base MySQL.

Revérifie bien que ton script PHP a bien sélectionné la bonne base, et ainsi que tes paramètres de connexion !

voila ;)
0
davwart
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
11 juil. 2006 à 16:31
Je crois que malalam avait fait un "mode d'emploi pour faire une demande sur le forum" il y a un bail.
Ca serait bien de mettre ce mode d'emploi de manière centralisée...

Pour ton cas, le problème est simple: ta query n'est pas bonne.
pour remedier à ça, y 'a un système que tout developpeur DOIT utiliser : mysql_error()

remplace donc ta ligne requete par:
    $result=mysql_query($sql,$connexion) or die(mysql_error());

tu n'auras plus qu'à lire ton erreur sur l'ecran.

-------------------------------------

Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
DarkCid
Messages postés
195
Date d'inscription
mardi 22 février 2005
Statut
Membre
Dernière intervention
26 octobre 2009
1
11 juil. 2006 à 16:51
Yaoh !

Vous êtes bien gentils, mais vous avez sans doute zappé un point ke g dis plus haut : tout marche sur mon pc en local ! Donc oubliez un peu ma requete ke g tester et retester. En plus Cette rquete n'est qu'un exemple car mon problème viens du num_rows ke j'utilise partout.
0
pcgpegase
Messages postés
96
Date d'inscription
lundi 24 novembre 2003
Statut
Membre
Dernière intervention
24 avril 2007
1
11 juil. 2006 à 17:06
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home.10.2/signanet/www/Pages/accueiladmin.php on line 52 (<-- c la ligne du if)

Ce message d'erreur de la part de MySQL te dit CLAIREMENT que ta requête n'est pas bonne, ecoute ce que te dit davwart et utilises mysql_error() pour savoir ce que MySQL retourne comme erreur...
0
DarkCid
Messages postés
195
Date d'inscription
mardi 22 février 2005
Statut
Membre
Dernière intervention
26 octobre 2009
1
11 juil. 2006 à 17:15
Yaoh !

Dites tout de suite ke g des hallus kan j'entre la meme requete (ke g prise grace à un echo) dans phpMyAdmin et k'elle fonctionne à la perfection ! Et dois-je encore répéter ke tout marche sur mon pc en local mais ke c kan c en ligne ke sa foire ? (ps pour ceux ki penserais ke g oublié de changer les parmaètres de connexion, j'y ai pensé et toc !)
0
davwart
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
11 juil. 2006 à 17:36
tu es gentil également.
l'erreur qu'il ressort est dû à un problème de connection : $result n'est pas une ressource mysql valide.
Donc soit ta query n'est pas bonne, soit $connection n'est pas bon.
si tu ne veux pas rajouter le die(mysql_error()) alors trouve la solution par toi meme.

bone chance.

-------------------------------------

Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
DarkCid
Messages postés
195
Date d'inscription
mardi 22 février 2005
Statut
Membre
Dernière intervention
26 octobre 2009
1
11 juil. 2006 à 18:00
Yaoh !

je disais pas ça contre toi davwart. Je v essayer de voir où ma connection foire et surtout pourkoi :(
Pour le die, sa va enlever l'erreur mais sa va pas faire ke la requete retournera ce ke je ve, donc sa sert pas trop dans mon cas, mais merci kan meme
0
davwart
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
11 juil. 2006 à 18:03
mais enfin darkcid !!
ce "die" ne va pas enlever ton erreur, il va t'afficher ton erreur !!! tu ne sais pas ce que fait mysql_error() ???

tu as répondu 3 fois au message et tu nous as meme pas encore dit ce qui s'affiche quand tu mets un "die(mysql_error());"

tu aurais gagné 2 heures !

-------------------------------------

Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
DarkCid
Messages postés
195
Date d'inscription
mardi 22 février 2005
Statut
Membre
Dernière intervention
26 octobre 2009
1
11 juil. 2006 à 18:46
Yaoh !

Hihi, en effet je ne sais pas ce ke fait mysql_error(), fo dire ke je suis sur PHP depuis moins de 8 semaines, fo pas m'en vouloir. Là g pas accès à mon code, il est à mon boulo donc j'orais pas pu te dire ce ki s'affiche :)
J'essairais ça 2m1, là ce soir j'essaye d'accumuler les pistes car à mon boulo, mon accès internet est très limité, pour ne pas dire inexistant.
0
davwart
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
11 juil. 2006 à 19:18
ha... ;)
bon alors mysql_error() va te sortir l'erreur mysql rencontrée.
souvent il s'agit d'une erreur de syntaxe, mais ça peut etre une mauvaise connection à la db par exemple.
Avec ça tu auras ton erreur.
;)
tiens nous au courant demain !

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
DarkCid
Messages postés
195
Date d'inscription
mardi 22 février 2005
Statut
Membre
Dernière intervention
26 octobre 2009
1
11 juil. 2006 à 19:37
Yaoh !

Et je le place où le mysql_error() ?
0
davwart
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
11 juil. 2006 à 19:42
mddrrrrr !!
relis les posts : apres ta query tu fais 'or die(mysql_error());'

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
cs_putch
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
12 juil. 2006 à 09:27
re
sinon ca peut etre ta base de données et/ou ta table qui n'est pas la meme ...
0
DarkCid
Messages postés
195
Date d'inscription
mardi 22 février 2005
Statut
Membre
Dernière intervention
26 octobre 2009
1
12 juil. 2006 à 16:21
Yaoh !

Voilà g eu la solution, le mysql_error m'a bien aidé, merci davwart.

Mon collègue avait changé le nom de la base entre le local et le serveur et il n'avait pas jugé bon de me le dire (abruti).
0