Problème d'Array!

Résolu
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. Ç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!
    1. 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.
      1. Modérateur
        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']
        1. 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é.