Suite a de nombreux messages m'indiquant une base de données obsolète, je me suis résolu tout refaire sous mysqli de façon a ce que mes scripts soient compatible avec PHP 5.5 (version que l'on trouve chez la plupart des hébergeurs maintenant)
J'ai ce message d'erreur
Warning: mysqli_query(): Couldn't fetch mysqli in /home/u215889846/public_html/dernier_match.php on line 8
Warning: mysqli::query(): Empty query in /home/u215889846/public_html/dernier_match.php on line 10
Warning: main(): Couldn't fetch mysqli in /home/u215889846/public_html/dernier_match.php on line 10
Erreur
et j'avoue que je patauge.
C'est une table derniermatch. Ce que je ne comprends pas c'est que j'ai exactement le même script pour une table prochainmatch (qui utilise exactement la même structure) qui elle fonctionne (j'ai juste a changer le nom de la able dans la rêquete, pour l'affichage c'est identique). La je n'arrive pas a faire fonctionner cette table ...
J'ai donné l'intégralité du code (hormis les echo car je pense qu'ils ne sont pas necessaires, je doute que ce soit ça qui me met dedans). y a t-il une possibilité pour que cela vienne de ma table sql ? (sachant qu'elle fonctionne parfaitement sur une table mysql - testé sur la BDD de free)
Bon bien en fait je pense que mes erreurs viennent de l'hébergeur.
J'ai testé mon site chez deux hébergeurs différents (hébergeurs gratuits) avec exactement les même fichiers. Seul le fichier de connexion a la base mysql est différent (évidemment pour qu'il accède a la base de chaque hébergeur, pas le choix) et les résultats a l'écran diffèrent ...
Je me casse la tête depuis hier sur mon code alors que je pense que ça vient de l'hébergeur :-(
Je contacte l'hebergeur.
Si ça avait été un problème d'identifiant, ma 1ere rubrique ne s'afficherait pas correctement non ?
Ce qui est plus qu'étrange c'est que lorsque je mets 2 scripts totalement identiques (même script, même base de données appelée, même table utilisée), il y en a un qui s'affiche parfaitement et l'autre génère des erreurs SQL ....
J'ai testé le site sur un vieil hébergeur gratuit (Free pour le nommer), qui utilise une version php 4.4.3 et mysql 5.0.77
Mes scripts fonctionnent (avec des scripts mysql). J'ai adapté mes scripts mysql en script mysqli pour essayer de le faire tourner sur les hébergeurs actuels et ces erreurs apparaissent...
J'aurai tout de même une question. Je ne pense pas que ça ait une influence mais je préfère la poser.
En fait ma page index est constituées de plusieurs rubriques alimentées par un include_once(nom_du_fichier.php);
chacun de ces fichiers contiennent la connexion a la base (en tout il y a 6 rubriques alimentées par la base mysql sur la page d'accueil de mon site donc ça fait 6 connexions simultanées a la base)
Est-ce que le fait d'appeler la connexion plusieurs fois en même temps a la base mysql sur une même page peut générer des erreurs ?
oui c'est ce que je fais (exemple dans mon code plus haut) mais ce fichier (connexionsql.php chez moi) est appelé dans plusieurs fichiers qui sont eux même appelés sur mon fichier index. Pour schématiser (pour essayer de mieux comprendre ma structure, mon site est constitué comme ça :
connexionsql contenant mon script de connexion a la base de données
fichier1.php contenant un include_once ('connexionsql.php');
fichier2.php contenant un include_once ('connexionsql.php');
fichier3.php contenant un include_once ('connexionsql.php');
fichier4.php contenant un include_once ('connexionsql.php');
fichier5.php contenant un include_once ('connexionsql.php');
Pour en avoir le coeur net j'ai fait un debug sur le fichier me posant problème et je n'ai aucun retour d'anomalie.
Tous les fichiers externes (quand je dis externes c'est a dire qui ne sont pas appelés par un include_once sur la page index.php n'ont aucun souci. Ils sont tous parfaitement fonctionnels voila pourquoi je me dis que ça vient peut-être des includes ...
Ok merci. Je pensais que le fichier que la connexion se faisait autant de fois qu'il y avait d'include_once. Avec tous les tests que j'ai pu faire, je ne vois pas d'autres explications qu'un souci d'hébergeur. Il se passe des choses trop curieuses.
Le fait qu'un code parfaitement fonctionnel appelé 2 fois sur la page fonctionne dans un cas et pas dans l'autre me titille.
Oui j'ai tout revérifié et pour etre vraiment sur, ce que j'ai fait j'ai appelé 2 fois le même fichier (qui lui fonctionne) via un include (donc connexion a la même base de données et utilisant la même table).
Le 1er appel fonctionne, le 2nd génère des erreurs SQL
Mouais j'ai reçu la réponse de l'hébergeur (réponse dont je me doutais). Vu que c'est un hébergeur gratuit ils ne fournissent pas d'aide (sauf que je ne pense pas que ça vienne de mon code).
J'ai fait un autre test. Le fichier qui génère des erreurs mysql sur ma page d'accueil, je l'ai tapé en adresse complète dan mon navigateur.
Il s'affiche parfaitement ... donc ce n'est pas un problème de codage mysqli ...
14 mai 2015 à 17:23
Est-ce que le code qui fait la requête est dans une fonction ?
Le code me semble bon, en tout cas.
14 mai 2015 à 17:28
14 mai 2015 à 20:23
La ligne 10 c'est celle-ci
14 mai 2015 à 23:38
14 mai 2015 à 23:46
Warning: mysqli::query(): Couldn't fetch mysqli in /home/u215889846/public_html/dernier_match.php on line 10
Warning: main(): Couldn't fetch mysqli in /home/u215889846/public_html/dernier_match.php on line 10
Erreur SELECT * from table_derniermatch
La ligne 10 correspond à