[PHP] problème avec mysql_fetch_array

Résolu/Fermé
Gothik - 16 nov. 2005 à 18:00
 hatem - 2 mai 2012 à 01:22
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
GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 386
22 nov. 2005 à 16:15
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 mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 386
21 nov. 2005 à 15:01
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 lundi 9 mai 2005 Statut Membre Dernière intervention 23 février 2006 16
16 nov. 2005 à 18:28
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 jeudi 25 novembre 2004 Statut Membre Dernière intervention 24 février 2008 14
22 nov. 2005 à 16:03
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 jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
22 nov. 2005 à 16:51
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
wapi man ni danger
0
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 mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 386
5 févr. 2007 à 11:00
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
aucune base a été sélectionné c'est mon probleme
0
psaikopat Messages postés 339 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 24 février 2008 14
21 nov. 2005 à 14:52
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 mardi 21 janvier 2003 Statut Membre Dernière intervention 20 avril 2006 108
21 nov. 2005 à 15:11
tu n'auras pas le message d'erreur mais ça veut pas dire que ça va marcher ...

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