Problème d'Array!

Résolu
W.Blanco -  
 W.Blanco -
Bonjour,

Lorsque je créé un script SQL via PHP, j'obtenais comme résultat "Resource id #X ", en recherchant dans le forum, j'ai vu qu'il fallait fetcher ma requête, j'obtient donc ça:

$query="SELECT name FROM glpi_tracking WHERE ID=9";

$result = $DB->query($query) or die('Erreur SQL !<br>' .$query. '<br>'. mysql_error());

$result = mysql_fetch_assoc($result);

$eigth_column=$result;

Et j'obtient comme résultat le mot "Array"! La variable qui doit s'afficher est $result

Quelqu'un a-t-il une explication à cela?

Merci d'avance!
Configuration: Windows XP
Firefox 3.0

4 réponses

  1. Dinheru Messages postés 1019 Date d'inscription   Statut Membre Dernière intervention   67
     
    Bonjour,

    Je pense que ton problème viens du fait que tu utilise ta variable $result comme une variable simple or c'est un tableau ! C'est pour ça que tu te retrouve avec le mot Array ;-)
    Essaye de récupérer ta valeur comme ça :
    $eigth_column=$result[0];

    Voila, en espérant t'avoir aidé.
    0
  2. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Salut oui c'est un tableau. Histoire de voir son contenu tu peux faire print_r($result).
    Mais le vrai accés à ses champs se fait en prenant le nom du champs correspondant à la table. Par exemple si tu veux le champs id tu fais $result['id'], si tu veux nom tu fais $result['nom']
    0
  3. macgawel Messages postés 676 Statut Membre 89
     
    Bonjour.

    As-tu lu la doc PHP ? Ou au moins le passage correspondant aux fonctions que tu utilises ?

    Allez, comme je suis gentil, je te file un extrait de la doc :
    array mysql_fetch_assoc(resource result_identifier )
    
    mysql_fetch_assoc retourne un tableau associatif qui contient la ligne lue, ou bien FALSE, si il ne reste plus de lignes. 
    [...]
    <?php
      mysql_connect($host, $user, $password);
      $result = mysql_db_query("database","select * from table");
      while ($row = mysql_fetch_assoc ($result)) {
        echo $row["user_id"];
        echo $row["fullname"];
      }
      mysql_free_result ($result);
    ?>

    Dans ton code, $result = mysql_fetch_assoc($result); veut donc dire que $result est un Array... Accessoirement, réutiliser ta variable c'est pas top.
    0
  4. W.Blanco
     
    Ça y est, en effet, c'était une petite étourderie de ma part, comme la variable $result que je réutilise alors que je voulais en désigner une autre (l'erreur est humaine!)

    Merci pour tout et bonne journée!
    0