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

Ade -  
doctormad Messages postés 456 Statut Membre -
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. loicDu28 Messages postés 342 Statut Membre 53
     
    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.

    2
  2. ade
     
    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
    1. loicDu28 Messages postés 342 Statut Membre 53
       
      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.
      0
  3. Ade
     
    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)
    0
  4. loicDu28 Messages postés 342 Statut Membre 53
     
    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 ^^
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ade
     
    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
    0
  7. loicDu28 Messages postés 342 Statut Membre 53
     
    Au lieu de
    mysql_fetch_object($query3)
    

    met
    mysql_fetch_array($query3)
    


    c'est mieux ?
    0
  8. ade
     
    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;
    ?>
    0
  9. loicDu28 Messages postés 342 Statut Membre 53
     
    as-tu essayer d'exécuter ta requête dans le requêteur de pgadmin ?
    0
  10. ade
     
    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 :)
    0
  11. loicDu28 Messages postés 342 Statut Membre 53
     
    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.
    0
  12. ade
     
    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'");
    0
  13. loicDu28 Messages postés 342 Statut Membre 53
     
    Ok ;)
    Pourrais-tu donc me fournir la structure de ta table mcmmo_experience et tout le script php qui pose problème stp ?
    0
  14. doctormad Messages postés 456 Statut Membre 99
     
    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
    0