MySQL + PhP

Salut tout le monde !

J'aurais besoin d'aide pour un code php ...

Je tente de récupérer une url d'image dans une base de donnée afin d'afficher l'image.

Le problème .... le voici :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\projet\consultation.php on line 33

Pouvez-vous m'aider ??

Je peux fournir tous les éléments, s'il vous faut quelque chose, demandez ^^

Merci d'avance.

12 réponses

  1. si tu as le code ^^
    1. <? include("connex.php") ?>

      <html>
      <head>
      <title>CSS Projet PhP</title>
      <link rel="stylesheet" type="text/css" href="styleprojet.css" media="all">
      </link>
      </head>
      <body>
      <div id="haut"><img id="image" src="banphp.bmp"/>
      <div id="gauche">
      MENU
      <br/>
      <ul>
      <li>Consultation</li>
      <form name="consultation" action="consultation.php" method="post" >
      <select name="consultation" value="">
      <option name="choix" value="" selected>Votre Choix</option>
      <option name="parFamille" value="1" onClick='javascript:document.consultation.submit()'>Par Famille</option>
      <option name="parTranche" value="2" onClick='javascript:document.consultation.submit()'>Par Tranche de Prix</option>
      <option name="tous" value="3" onClick='javascript:document.consultation.submit()'>Tous</option>
      </select>
      </form>
      </ul>
      </div>
      <div id="centre">
      <?php
      if ($_POST['consultation']=="1")
      {echo "<h4>**<u>Ordinateurs Portables</u>**</h4>";
      $url=mysql_query('SELECT `urlimage` FROM `produits` WHERE design="ASUS"');
      $urla=mysql_fetch_array($url);
      echo "<img src='$urla'/>";
      }
      if ($_POST['consultation']=="2")
      {echo "Tranche";}
      if ($_POST['consultation']=="3")
      {echo "Tous";}
      ?>
      </div>
      </div>

      </body>
      </html>

      Voili Voilou ^^

      Je sais que certains trucs sont foireux mais je voudrais d'abord résoudre le problème dont je parle .

      Merci
  2. as-tu essayé directement :
    echo "<img src='$url'/>";
    sans passer par $urla ?
    1. j'ai toujours exactement la même erreur ...
  3. je crois qu'il faut rajouter $urla=$urla[urlimage]; entre $url= et $urla=

    ton urla est un tableau, fo lui dire quelle colonne récupérer même si y'en a qu'une
    1. Bonjour.
      $url=mysql_query('SELECT `urlimage` FROM `produits` WHERE design="ASUS"');
      $urla=mysql_fetch_array($url);

      Le problème vient certainement de ta requête, qui doit être invalide...
      Déjà, il n'y a pas besoin de mettre des quotes pour urlimage et produits.

      Ce que tu peux faire :
      $url=mysql_query('SELECT `urlimage` FROM `produits` WHERE design="ASUS"') or die ( "Erreur de requete : ".mysql_error() );

      Ca t'affichera l'erreur SQL...
      1. deux minutes tout le monde j'essaie ce que vous me dîtes ! XD Merci ^^
    2. macgawel > " Erreur de requete : No database selected "
      Il faut donc que je mette le nom de ma base de données, n'est-ce pas ? mais où et avec quelle syntaxe ?
      1. autre chose: vires les ` et mets ta requête entre "
        $url=mysql_query("SELECT urlimage FROM produits WHERE design=\"ASUS\"");

        $urla=mysql_fetch_array($url);
        $urla=$urla[urlimage];
        1. toujours la même erreur : " Erreur de requete : No database selected "
          1. C'est parce que tu ne sélectionnes pas ta base de données.
            Du coup, évidemment, il se demande quoi !

            Il faut d'abord te connecter :
            mysql_connect

            Et à la fin te déconnecter :
            mysql_close

            Essaye de trouver des tutoriels sur l'utilisation de mysql avec php, ça te sera utile (pour sécuriser, entre autres)
        2. la cé un autre pb et j'ai pas la solution... mais je suis quasi sur que la requete marchera comme ça.
          1. Merci quand même ^^

            Est-il possible que ce problème provienne de mon fichier de connexion à ma base ?
            1. <?
              $host="localhost";
              $login="root";
              $pass="progweb";
              $db=mysql_connect($host,$login,$pass);
              mysql_select_db("base",$db);
              ?>

              Voila
              1. $db=mysql_connect($host,$login,$pass) or die ("Erreur de connexion : ".mysql_error() );
                mysql_select_db("base",$db) or die ("Erreur de connexion à la base ".$db." : ".mysql_error() );

                [Edit : c'est ça, de faire des copier/coller trop rapidement :-O ]