Warning: mysql_fetch_array(): ......

Résolu
Bonjour,
jai un petit problème avec mysql et php =S

je vous explique.

j'ai crée une requete select je l'ai éxécuté puis j'aimerais que le resultat de cette requete se mette dans un tableau mais cela ne marche pas =S
voici mon code

$sel= mysql_query("select norequete,datecreation,frequenceutili,definition,syntaxe,prerequis,localisation,libelledomaine,libelleinstance,nomtable
from domaine,instance,requete utiliser
where requete.codedomaine =domaine.codedomaine
and requete.codeinstance = instance.codeinstance
and requete.norequete = utiliser.norequete");
$result_tableau="";
while($reqg = mysql_fetch_array($sel))
{
$num = $reqg["norequete"];
$date = $reqg["datecreation"];
$freq = $reqg["frequenceutili"];
$def = $reqg["definition"];
$syn = $reqg['syntaxe'];
$prerequi = $reqg['prerequis'];
$loca = $reqg['localisation'];
$dom = $reqg['libelledomaine'];
$ins = $reqg['libelleinstance'];
$nomtable = $reqg['nomtable'];

qd j'éxécute ma page ile me marque

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\gaelle\projet\insert.php on line 44

aidé moi sil vous plait
Configuration: Windows XP
Firefox 2.0.0.11

8 réponses

  1. Modérateur
    Salut,

    Quand tu as ce genre d'erreur, n'hésite pas à vérifier ce que donne ta requête dans PhpMyAdmin, comme tu verras si ta requête est valide.
    1. Peut-être que ta requête est invalide ?

      requete utiliser 

      Il manque une virgule...

      Tu peux tester si la requête est valide avant de passer ta boucle while :

      $sel = mysql_query(<ta requete>) or die ("Requete invalide");
      1. jai essayé il maffiche le message du or die
        mais quand j'essaye d'afficher ma requete pour voir ce quelle renvoi il n'affiche rien

        voila le code modifier

        $sel="select norequete,datecreation,frequenceutili,definition,syntaxe,prerequis,localisation,libelledomaine,libelleinstance,nomtable
        from domaine,instance,requete utiliser
        where requete.codedomaine =domaine.codedomaine
        and requete.codeinstance = instance.codeinstance
        and requete.norequete = utiliser.norequete";
        $resultat = mysql_query($sel,$link)
        or die("requete naze");
        print($resultat);
        $result_tableau="";
        while($reqg = mysql_fetch_array($resultat))
        1. C'est que ta requête est incorrecte.
          Sur ta ligne :
          from domaine,instance,requete utiliser 

          il manque une virgule entre requete et utiliser

          select norequete,datecreation,frequenceutili,definition,syntaxe,prerequis,localisation,libelledom­aine,libelleinstance,nomtable

          Tu ne précise pas à quelles tables appartiennent tes champs.
          1. ben aparament il n'y apas que ca car il me marque toujours le message warning et il ne maffiche pas ma requete dans mon print =S
            mais merci pour la virgule
            1. Pour avoir plus d'info sur ton erreur, ajoute qqch dans ton appel de die :
              ... or die( "requête naze : " . mysql_error() );