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

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
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
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

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

met
mysql_fetch_array($query3)


c'est mieux ?
0
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
loicDu28 Messages postés 342 Statut Membre 53
 
as-tu essayer d'exécuter ta requête dans le requêteur de pgadmin ?
0
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
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
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
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
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