[PHP] problème avec mysql_fetch_array

Résolu
Gothik -  
 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

herchris
 
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
GallyNet Messages postés 434 Date d'inscription   Statut Membre Dernière intervention   387
 
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.
8
GallyNet Messages postés 434 Date d'inscription   Statut Membre Dernière intervention   387
 
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.
2
Misdrhaal Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   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
0

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

Posez votre question
psaikopat Messages postés 339 Date d'inscription   Statut Membre Dernière intervention   14
 
Logikement une requete est bien faite ! Donc @ devant le mysql_fetch_array !
Pour moi c'est ça !

^^
0
Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   200
 
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..."
0
RR
 
wapi man ni danger
0
Florian
 
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
0
GallyNet Messages postés 434 Date d'inscription   Statut Membre Dernière intervention   387
 
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.
0
hatem
 
aucune base a été sélectionné c'est mon probleme
0
psaikopat Messages postés 339 Date d'inscription   Statut Membre Dernière intervention   14
 
Pour ton problème de mysql_fetch_array, essaye de mettre @ devant mysql_fetcharray comme ceci :

@mysql_fetch_array(

la ça devrait fonctionner !
-2
wiwimagique Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   108
 
tu n'auras pas le message d'erreur mais ça veut pas dire que ça va marcher ...

0
merci :)
 
merci :)
0
remi
 
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...
0
remi
 
si on suppose que c'est la lause where qui est utilisé dans la plupart du temps
0