Récupèrer une seule valeur dans une base sql

Bonjour,

J'ai une liste utilisateur avec chacun un ID en clé primaire et je souhaiterais récupérer cette valeur dans une variable

J'ai essayé
$query = mysql_query("SELECT 'id' FROM 'inventorysql' WHERE owner='$user'");
while($row = mysql_fetch_object($query));
{
$inventory=$row->id;
}

Mais rien n'y fait la valeur reste vide.

J'ai aussi essayé :

$query = mysql_query("SELECT 'id' FROM 'inventorysql' WHERE owner='$user'");
$inventory = mysql_result($query));

La valeur $user me sors bien résultat mais inexploitable ...
Je n'arrive pas a récupérer donc le champ ID dans ma variable

Merci de votre aide !

13 réponses

  1. Bonjour,

    Pour ta première méthode, essaye plutôt comme ça :
    $query = mysql_query("SELECT id FROM inventorysql WHERE owner='$user'"); 
    while($row = mysql_fetch_object($query)); 
    { 
    $inventory=$row['id']; 
    } 
    


    Pour ta deuxième méthode, ce serait plutôt :
    $query = mysql_query("SELECT id FROM inventorysql WHERE owner='$user'"); 
    $inventory = mysql_result($query,0); 
    


    Cordialement.

    1. Re, je pense avoir trouvé! Regardez, j'espère que les requêtes ne sont pas trop lourdes :

      $query3 = mysql_query("SELECT 'mining','woodcutting','unarmed' FROM mcmmo_experience WHERE user_id='$mcmmoID'");
      while ($mcmmo = mysql_fetch_object($query3))
      {
      $mcmmo1=$mcmmo->mining;
      $mcmmo2=$mcmmo->woodcutting;
      $mcmmo3=$mcmmo->unarmed;
      }

      <?php
      echo $mcmmo1;
      echo $mcmmo2;
      echo $mcmmo3;
      ?>

      sur la page web ca me marque les bonnes valeurs :)

      Pas de risque que la requête tourne en boucle avec le while ?
      1. Bonjour,

        Le While ici tournera le temps qu'il trouvera des résultats à ta requête donc si la requête te sort 5 résultats, la boucle tournera 5 fois.

        Cordialement.

        P.S. : Si ton problème est résolu, n'oublie pas le TAG RÉSOLU.
    2. La 2 ieme méthode marche au poil !

      Merci beaucoup, ca fait depuis hier soir non stop que je cherche.

      Grâce à la 2 ième méthode la requête va bien chercher la valeur dans la colonne ID et la transfert bien dans ma variable $inventory

      Bizarrement la première méthode ne marche pas (valeur vide)
      1. Cool si la 2ème méthode fonctionne, je te conseil d'utiliser celle là: elle contient que 2 lignes ;)

        Pour la première méthode, si tu veux la tester essaye avec mysql_fetch_array au lieu de mysql_fetch_object.

        Cordialement.

        P.S. : Si ton problème est résolu, n'oublie pas le tag ^^
        1. Bonjour,

          toujours moi avec ce problème, enfin un poil différent !

          Toujours un problème de valeur vide pour $mcmmoID2 $mcmmoID3 $mcmmoID4 , voici mon code:

          $query3 = mysql_query("SELECT 'mining','woodcutting','unarmed' FROM mcmmo_experience WHERE user_id='$mcmmoID'");
          while($row = mysql_fetch_object($query3));
          {
          $mcmmoID2=$row['mining'];
          $mcmmoID3=$row['woodcutting'];
          $mcmmoID4=$row['unarmed'];
          }

          Ce que je veux faire : j'ai une table nommée mcmmo_experience, dedans j'ai plusieurs colonnes avec des valeur décimale, j'aimerais récupèrer par ex mining, woodcutting et unarmed pour chaque utilisateur (user_id).

          A SAVOIR que dans ma table sql chaque colonnes (j'ai 12 colonnes + la colonne primaryt key)doit être récupérer. Il y a donc peut être plus simple que de taper 'mining','woodcutting','unarmed'etc ?

          Merci
          1. Au lieu de
            mysql_fetch_object($query3)
            

            met
            mysql_fetch_array($query3)
            


            c'est mieux ?
            1. Ca ne semble pas passer.

              J'ai oublié de préciser les résultats ne seront pas dans un tableau mais dans un <ul><li>

              Du coup chaque variable aura son <li>

              Actuellement je fait des test avec un simple

              <?php

              echo $mcmmoID2;
              echo $mcmmoID3;
              echo $mcmmoID4;
              ?>
              1. as-tu essayer d'exécuter ta requête dans le requêteur de pgadmin ?
                1. Non je n'es pas explorer cette possibilité.

                  Je pensais contourner le problème avec

                  $i = 0;
                  while($row = mysql_fetch_array($query3));
                  {
                  $mcmmo[i]=$row;
                  }

                  <?php
                  echo $mcmmo[0];
                  echo $mcmmo[1];
                  echo $mcmmo[2];
                  ?>

                  Mais ca marche pas non plus :)
                  1. essaye ta requête pour être sur que c'est pas elle qui crash.
                    Sinon, je vais te demander de m'envoyer la structure de ta table et j'essayerai ce soir chez moi.
                    1. Si cela peut être utile, quand je tape ma requête dans mysql ca marche:

                      SELECT 'mining','woodcutting','unarmed' FROM mcmmo_experience WHERE user_id='4'");
                      1. Ok ;)
                        Pourrais-tu donc me fournir la structure de ta table mcmmo_experience et tout le script php qui pose problème stp ?
                        1. Salut,

                          Tu n'a pas besoin des quotes sur les noms de champs et de table ou alors il faut utiliser les quotes sql (Alt Gr + 7).

                          Au passage un petit contrôle de la validité de la requête ne fais pas de mal.

                          http://fr2.php.net/manual/fr/function.mysql-query.php