[PHP] problème avec mysql_fetch_array [Résolu/Fermé]

Signaler
-
 hatem -
Bonjour,
voilà depuis quelques heure je n'arrive pas à retirer ce message : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\apachefriends\xampp\htdocs\web-ados\index.php on line 14. Pouvez-vous m'aidez ? Voici mon fichié index.php
<?php

$code = 42;
$page_selectionne = $_GET['page'];

$template_racine = "template/";

include("config/config.php");

$menu_demande = mysql_query("SELECT * FROM webados_menu");
while ($donnees_menu = mysql_fetch_array($menu_demande) )
{
$menu.$menu = '<a href="$donnees_menu[\'page\']">$donnees_menu[\'nom\'];</a>';
}

$page_sql = mysql_query("SELECT * FROM webados_page")or die("Impossible de se connecter : " . mysql_error()); 
while ($page_nom_sql = mysql_fetch_array($page_sql))
{
$page_demande = $page_nom_sql['page'];
} 

include("template/index.htm");

mysql_close(); 

?>


Merci d'avance !
A voir également:

9 réponses

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Ce message apparait lorsque la variable passée dans mysql_fetch_array($result) ici $result est vide oubien n'est pas valide.
Ceci provient en général soit d'une connexion à la BDD non valide (vérifier le chemin) oubien d'un champs dans une table de la BDD non existant (ceci était mon problème)

Bon courage.
herchris
22
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
434
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 décembre 2008
379
Si, sans mettre le @, tu as l'erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\apachefriends\xampp\htdocs\web-ados\index.php on line 14
Alors le parametre que tu fournit à mysql_fetch_array() n'est pas une ressource mysql valide. Le plus souvent, il provient du fait que l'on donne pas la bonne variable, ou que la requete est fausse.

Il ne faut jamais mettre un @ devant mysql_fetch_array(), sinon ton code sera faux en cas de probleme de requete.
Messages postés
434
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 décembre 2008
379
Oula, ne mais pas de @ devant mysql_fetch_array(), si tu fait ca, tu n'aura plus le message d'erreur, et s'il n'est pas là, tu saurapas pourquoi ton code ne fonctionne pas.

A chaque fois que tu fais un mysql_query(), utilise le comme ca :
$requete="SELECT * FROM webados_menu";
mysql_query($requete) or die(mysql_error()."\n".$requete);

ainsi tu aura toujours le message d'erreur de mysql et la requeet qui n'est pas valide.
Messages postés
49
Date d'inscription
lundi 9 mai 2005
Statut
Membre
Dernière intervention
23 février 2006
16
C'est OK pour ta requete, maintenant faut voir ce qu'il te sort :


Pour la ligne
'<a href="$donnees_menu[\'page\']">$donnees_menu[\'nom\'];</a>'


Je transformerai ca en

$donnees_page = $donnees_menu['page'];
$donnees_nom = $donnees_menu['nom'] ;

'<a href="$donnees_page">$donnees_nom;</a>';

Tu risques moins de t'embouriller avec les ' " etc...
Maintenant je ne sais pas si ca résout le probleme, essaye quand meme:p
Messages postés
339
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
24 février 2008
14
Logikement une requete est bien faite ! Donc @ devant le mysql_fetch_array !
Pour moi c'est ça !

^^
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
201
Donc @ devant le mysql_fetch_array !
Bin si il est ici a poser des question car il a un problème avec mysql_fetch_array ca set SECHEMENT a rien de masquer les message d'erreurs mais vraiment a rien, c'ets limite t'as envie qu'il se fasse + chier encore qu'il ne doit se faire . .. :D

Zep3k!GnO
--> Curtis jackson:"On ets des Rangers mec, des rangers..."
wapi man ni danger
Bonjour,

J'ai le même problème actuellement, même message d'erreur. Pourtant ma requête est bonne (je n'ai pas de message d'erreur avec mysql_query).

Flo
Messages postés
434
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 décembre 2008
379
Mettre un @ devant une fonction en PHP, c'est seulement quand le script n'est plus en devellopement, et que as mis en place un autre systeme pour récupéré l'erreur. Seul ceux qui pensent que jamais leurs bases de données tomberons en rade font cela.
aucune base a été sélectionné c'est mon probleme
Messages postés
339
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
24 février 2008
14
Pour ton problème de mysql_fetch_array, essaye de mettre @ devant mysql_fetcharray comme ceci :

@mysql_fetch_array(

la ça devrait fonctionner !
Messages postés
481
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
20 avril 2006
103
tu n'auras pas le message d'erreur mais ça veut pas dire que ça va marcher ...

slt les mec ben l"erreur peut etre dûe à une clause Group by ou order by si jamais vous utilisez la fonction Count, ou Min, ou max etc... dans la requete...
si on suppose que c'est la lause where qui est utilisé dans la plupart du temps