[PHP-MySQL]Récupéré le résultat d'une requète

Mélichouchou Messages postés 70 Statut Membre -  
 doug2109 -
Salut à tous!

J'ai fait un site où l'utilisateur se loggue avec son login et son mot de passe, je stocke déjà ces données dans des variables de session:
$_SESSION['Login']=$Login;
$_SESSION['Motdepasse']=$Motdepasse;


Cependant, je veux récupérer l'id de l'utilisateur en utilisant une requête mysql (vu que le login est unique, à partir de celui-ci je peux donc avoir l'identitfiant de l'utilisateur):
$requête=mysql_query("SELECT user_id FROM user WHERE login='$Login' ");


Je veux récuperer ce résultat dans une variable que je mettrais dans une variable de session, mais je ne sais pas comment récupérer un seul résultat d'une requête sql ni comment le stocker dans une variable (que je mettrais par la suite dans une variable de session comme pour le login et le mot de passe).

--
merci de bien vouloir me répondre... Mélichouchou

4 réponses

  1. GallyNet Messages postés 437 Statut Membre 387
     
    Quand tu exécute ta requete, tu récupère le résultat dans une variable. 5attention ce n'est pas le résultat de la requete,mais une ressource mysql) :
    $result=mysql_query($requete);


    Après, tu peut récupéré les valeurs de différentes manière :
    mysq_result() permet de récupéré une valeur à la fois
    mysql_fecth_array() retourne une ligne sous la forme dans tableau
    mysql_fetch_object() retourne une ligne sous la forme d'un objet
    ...

    A toi de choisir celle que tu veut. (mysq_result() est utilie si tu veut récuépé qu'une seul valeur, à partir de deux valeur les fonction du type mysql_fecth_array() sont plus rapide).

    Pour savoir comment marche c'est fonction, utilise une bonne documentation http://www.php.net/mysql
    35
    1. goomie25
       
      merci gallynet pour tes connaissance precieuse
      0
    2. doug2109
       
      ATTENTION ! Les fonctiones mysql_ sont désormais obsolètes !! (Vérifier la date des posts)
      Veuillez utiliser la classe PDO et les fonctiones associées : fetch() - fetchAll() - query() - exec() - etc
      1
  2. gozo
     
    oui man au lieu d'un simple select, tu utilise un select distinct
    2
  3. fatmy
     
    slt tout le monde,
    je veux savoir cmt récupérer le résultat d'une requête ds un tableau et puis suprimer les doublants de ce dernier en PHP.
    je travaille sur les fichiers log, je veux récupérer les adresses ip qui ont visité un tel site web(ici par exp:google) sans avoir des répétition des ips( par exemple: j'ai
    172.16.29.126
    172.16.12.223
    172.16.12.223
    172.16.12.223
    172.16.12.223
    172.16.29.126
    donc il faut avoir comme resultat:
    172.16.29.126
    172.16.12.223)
    voici mon script en PHP à corriger:
    <?php
    $site='google';
    
    $connection=mysql_connect("localhost", "root", "");
      mysql_select_db("log");
    $query = "SELECT * FROM logsteg";
    $result = mysql_query($query) or ERROR(mysql_error()."<br><br>".$query);
    $sql="SELECT site, ip FROM logsteg WHERE site like '%$site%' ";
    $result = mysql_query($sql);
    $nb= mysql_query("SELECT count(ip) as site  FROM logsteg where site like '%$site%'"); 
    
     ?> Le site "<?echo $site?>" a été visité <?echo mysql_result($nb, 0);?> fois par les adresses IP:<br>
     <?
     $N= mysql_result($nb,0);
     while($tableau = mysql_fetch_array($result)) 
    { 
    echo '<tr><td>',$tableau['ip'],'</td></tr>';
    
       ?><br> <?  
    }
     
    $tab=array();
    
     
     
    
     $tableau = mysql_fetch_array($result);
     
      for($i=1; $i<=$N; $i++)
     {
      $tab[$i]=$tableau['ip'];
         
    }
    
      echo '<pre>';
           print_r($tab);
      echo '</pre>';
    for($i=1; $i<=$N; $i++)
    {
    
    
    if(in_array($tab[$i], $tab))
     { 
      echo $tab[1];
    ?> <br><?  
     unset($tab[1]) ;
     $el = array_shift($tab);
    }
    }
      
     
    ?>
    0