phpMyAdmin ne sait pas afficher les dernières entrées

Eléphant du PHP | 51 Messages

16 févr. 2022, 18:04

Voilà ma table :

Code : Tout sélectionner

CREATE TABLE `user_votes` ( `id` int(10) NOT NULL, `article_id` int(10) NOT NULL, `user_ip` varchar(255) NOT NULL, `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Une table toute simple, parce que je ne suis pas programmeur pro. C'est avec un script qui permet aux visiteurs de mon site de répondre à des petits sondages, et c'est la table qui enregistre les IPs pour que le visiteur qui a répondu à un sondage ne puisse y répondre une seconde fois.

Le script marche très bien, sauf sur phpMyAdmin. Quand je veux regarder les résultats (autrement sur mon site) sur la BDD, donc avec l'aide de phpMyAdmin, les dernières lignes ne s'affichent pas. Ou irrégulièrement. Quand j'avais regardé il y a 3 jours, il me manquait les données des dernières 48 heures, et je regarde une heure plus tard, il ne me manquait plus que les données des dernières 24 heures.

Et quand je regarde aujourd'hui, il me manque les données des 5 derniers jours.
Mais quand je regarde sur le site, toutes les données sont bien là. Quelqu'un a t-il déjà constaté des erreurs sur phpMyAdmin ?
J'ai la version 5.1.3. J'ai réessayé avec le version 5.1.1, c'est pareil.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

16 févr. 2022, 18:47

A chaque fois que j'ai eu un "bug" de phpMyAdmin, il est apparu que c'était dans tous les cas, et sans aucune exception, à cause d'une mauvaise requête de ma part... donc avec 25 ans d'expérience dans le dev web, je pencherai davantage pour une erreur humaine ;-)

Fais une requête SELECT* FROM user_votes ORDER BY date DESC dans phpMyAdmin ça devrait te renvoyer les entrées les plus récentes.
Si ce n'est pas la même chose affichée sur ton site, regarde quelle est la requête réalisée dans le code de ton site et teste la dans phpMyAdmin
Quand tout le reste a échoué, lisez le mode d'emploi...

Invité
Invité n'ayant pas de compte PHPfrance

16 févr. 2022, 19:29

A chaque fois que j'ai eu un "bug" de phpMyAdmin, il est apparu que c'était dans tous les cas, et sans aucune exception, à cause d'une mauvaise requête de ma part... donc avec 25 ans d'expérience dans le dev web, je pencherai davantage pour une erreur humaine ;-)

Fais une requête SELECT* FROM user_votes ORDER BY date DESC dans phpMyAdmin ça devrait te renvoyer les entrées les plus récentes.
Si ce n'est pas la même chose affichée sur ton site, regarde quelle est la requête réalisée dans le code de ton site et teste la dans phpMyAdmin
Cela marche à moitié.
La réponse est :

Code : Tout sélectionner

Showing rows 0 - 24 (60100 total, Query took 0.0377 seconds.) [date: 2022-02-16 18:12:17... - 2022-02-16 17:01:57...]
La dernière entrée est la 62346, la première est la 2247. Comme j'ai commencé à partir de 7 (j'ai effacé les 6 premières), cela veut dire qu'il me manque plus de 2000 entrées. C'est-à-dire que si je suis parvenu à afficher les dernières entrées, il m'a zappé les premières... Je précise que sur phpMyAdmin, les requêtes ne sont pas de moi. L'erreur est sur la première page, quand il m'indique la liste des tables, avec le nombre d'entrées...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

16 févr. 2022, 19:43

Au delà de 50 000 résultats, phpMyAdmin affiche un nombre de résultats approximatif afin que ce soit moins gourmand en terme de ressources :
https://docs.phpmyadmin.net/en/latest/faq.html#faq3-11

Si tu veux le nombre exact, tu peux faire la requête suivante ou changer la config de phpmyadmin :
SELECT COUNT(*) FROM user_votes
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 51 Messages

17 févr. 2022, 17:08

Au delà de 50 000 résultats, phpMyAdmin affiche un nombre de résultats approximatif afin que ce soit moins gourmand en terme de ressources :
https://docs.phpmyadmin.net/en/latest/faq.html#faq3-11

Si tu veux le nombre exact, tu peux faire la requête suivante ou changer la config de phpmyadmin :
SELECT COUNT(*) FROM user_votes
Merci !
Je me disais bien qu'il y avait un truc, mais je ne comprenais pas, je pensais à un bug, mais non, tout est normal.
Il fallait le savoir, vraiment merci. Surtout que je vais devoir m'y habituer, ma table grossit de 500 nouvelles entrées par jour...