S'enregistrer | Rechercher | FAQ | Liste des Membres | Groupes d'utilisateurs | Connexion

  Nom d'utilisateur:    Mot de passe:       

  

Poster un nouveau sujet   Répondre au sujet Page 1 sur 1
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
MessagePosté le: Ven Fév 03, 2012 12:01 pm    Sujet du message: Problème avec mysql_num_rows Répondre en citant

SHEPSHEP
Projets


 
Inscrit le: 08 Avr 2009
Messages: 268
Localisation: /dev/null



Bonjour,

Tout d'abord ça marchait avant et aujourd'hui on me remonte un problème alors qu'il n'y a pas eu de modif de code.

En faire je requête ma BD et récupère environ 132000 lignes, la requête est simplissime :

SELECT * FROM commandes

Lorsque je j'utilise mysql_num_rows pour compter le nombre de lignes, j'ai un "Warning mysql_num_rows() ...."

Pour l'instant j'ai fait une seconde requête pour récupérer le nombre de ligne.
SELECT COUNT(*) FROM commandes

Quelqu'un aurait une idée parce la c'est bizarre que même.

En plus j'ai l'impression que PMA perd les pédales aussi, plus de pagination, plus affichage nombre de ligne (pour cette table). Surement lié car c'est deux outils/infos utilisent surement mysql_num_rows()

++
2ShEp
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur
MessagePosté le: Ven Fév 03, 2012 12:07 pm    Sujet du message: Répondre en citant

TorTukiTu
Site Admin


 
Inscrit le: 07 Fév 2008
Messages: 1960
Localisation: Devant son pc durant la redaction de ce message



Est-ce que tu peux donner l'erreur complète ?

Quand tu fais ton select *, il est possible que tu remplisses un array de 13.000 éléments...

C'est moche.

Tu as essayé d'augmenter la mémoire maximum disponible dans ton php.ini ?

Tortue 974.
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur Compte AIM MSN Messenger Numéro ICQ
MessagePosté le: Ven Fév 03, 2012 4:36 pm    Sujet du message: Répondre en citant

SHEPSHEP
Projets


 
Inscrit le: 08 Avr 2009
Messages: 268
Localisation: /dev/null



Merci Tortu

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /blabla/blabla/blabla/html/commandes.php on line 98

Non quand même pas ^^ (et c'est pas 13.000, c'est 132.000)
La requête sert uniquement à connaitre le nombre d'entrée et faisant un mysql_num_rows() sur le résultat (oui c'est idiot, c'est pas de moi je précise).

Pour la mémoire, j'ai vérifié, je suis bien en dessous de la limite.

Comprend pas ...
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur
MessagePosté le: Ven Fév 03, 2012 8:15 pm    Sujet du message: Répondre en citant

Sliim
Site Admin


 
Inscrit le: 16 Mai 2008
Messages: 1177



Salut,

d'après le message l'erreur se situe plus haut, lors du mysql_query("SELECT * FROM commands"); probablement.

Test la valeur de retour de mysql_query();

++
Sliim
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur Messagerie Instantanée
MessagePosté le: Sam Fév 04, 2012 10:40 am    Sujet du message: Répondre en citant

TorTukiTu
Site Admin


 
Inscrit le: 07 Fév 2008
Messages: 1960
Localisation: Devant son pc durant la redaction de ce message



Alors suis du même avis que Sliim.

Affiche la requete avec un print coucou. Puis teste la dans un petit fichier php à part.

Et teste aussi avec le client MySQL en ligne de commande.

Tu seras fixé quand à l'emplacement du problème.

Tortue 974.

PS.: Fais attention à la casse (vérifies aussi que tu tapes bien sur la bonne db !). Si tu as "SELECT * FROM commands" dans php, et une table "Commands" dans mysql, la requête marchera sous les OS Window$ et pas sous les unix !

Tortue 974.
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur Compte AIM MSN Messenger Numéro ICQ
MessagePosté le: Mar Fév 07, 2012 4:17 pm    Sujet du message: Répondre en citant

SHEPSHEP
Projets


 
Inscrit le: 08 Avr 2009
Messages: 268
Localisation: /dev/null



Bon je reviens avec mon bazar

Petite rectification importante, la requête est : "SELECT * FROM commande WHERE 1 AND 1 AND 1 ORDER BY commande.dat_cmd DESC, commande.heu_cmd DESC"

Valeur de retour de mysql_query() => (bool) false

Dans PMA la requête passe grâce à la clause "LIMIT 0,30" mais ca déconne au niveau du nombre d'enregistrements "0 - -1 (0 total, traitement: 0.3485 sec.) " alors que les résultats s'affiche bien ...

Citation:
Affichage des enregistrements 0 - -1 (0 total, traitement: 0.3485 sec.)
requête SQL: SELECT *
FROM commande
WHERE 1
AND 1
AND 1
ORDER BY commande.dat_cmd DESC , commande.heu_cmd DESC
LIMIT 0 , 30


TorTukiTu a écrit:
Fais attention à la casse (vérifies aussi que tu tapes bien sur la bonne db !). Si tu as "SELECT * FROM commands" dans php, et une table "Commands" dans mysql, la requête marchera sous les OS Window$ et pas sous les unix !

Merci pour l'info je ne savais pas, ça pourra peut être me servir ultérieurement.
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur
Poster un nouveau sujet   Répondre au sujet Page 1 sur 1

  


 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum



110251 Attacks blocked