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. 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
    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']
      0
      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.
        0
        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!
          0