Problème d'Array!

Résolu/Fermé
W.Blanco - 3 juil. 2008 à 16:09
 W.Blanco - 3 juil. 2008 à 16:48
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!

4 réponses

Dinheru Messages postés 1019 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 17 avril 2009 67
3 juil. 2008 à 16:22
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
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
3 juil. 2008 à 16:23
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
macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 89
3 juil. 2008 à 16:24
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
Ç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