Appel d'une variable dans un array

bonjour,

J'ai quelques petits problèmes lors de l'appel de variable dans un array en php.

exemple qui ne fonctionne pas :

<TEXTAREA NAME="Presentation" onKeyUp="limite(this,30);" onKeyDown="limite(this,30);" ROWS=2 COLS=20 ><?echo $prop["Presentation"]?></TEXTAREA>


ma variable est un tableau acquit de la sorte :

$req1=mysql_query("SELECT * FROM fiche29 WHERE reference=\"$ref\";");
$prop=mysql_fetch_array($req1);


Pourtant, lorsque j'utilise :

if($prop["reference"]!=$prop["refExpert"])
echo 'nananinanana';


ça fonctionne !! Pourquoi.
Je sais que je pourrais utiliser les numéros à la place de "presentation", "reference" et "refExpert" mais ça ne m'intéresse pas.

Quelqu'un saurait-il me dire pourquoi di foé ca marche i di foé ca marche pa ?

@pluche

Rémy

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. PHP est case sensitive : est-ce que ta colonne dans ta BDD s'appelle bien "Presentation" et pas "presentation" ou "Présentation" ?

    Personnellement, je n'utilise que mysql_fetch_row(), qui évite ce genre de problème. Comme tu SAIS ce que tu prends dans ta BDD, tu sais aussi qui est à quelle place ... ET rien ne t'empêche par ailleur, si tu veux plus de lisibilité, de faire $row = mysql_fetch_row($reql) puis $presentation = $row[0]; $truc = $row[1] etc ...
    1. BIZZZARD BIZZZARD !!

      Je viens d'essayer avec un mysql_fetch_row, ça ne fonctionne pas.

      Mais avec un mysql_fetch_array, ça fonctionne...contrairement à ce que je disais dans mon premier message. (sans doute parce que j'ai oublié le ";"
      De plus, j'ai passé l'intégralité de mon code en php (avec un grand echo) peut-être que ça joue aussi...

      Cela reste tout de même un peu mystérieux...

      Rémy
      1. Que tu passes en ech oou pas, normalement ça ne change rien.

        Pour mysql_fetch_row(), il faut changer la syntaxe car la fonction ne s'appelle pas et ne renvoit pas les même choses que mysql_fetch_array().
        En général, tu fais :
        $query = "SELECT * FROM `truc` WHERE `id` = '$id' ";
        $result = mysql_query($query) or die("Erreur = ".mysql_error());
        while ($row = mysql_fetch_row($result))
        {
            echo $row[0];
            echo $row[1];
            ....
        }
        --

        T'as pensé à regarder sur Google avant de poser ta question ? 
        1. Bon, c'est bon, j'ai saisi comment ça marche !

          si on fait un '$valeur=mysql_fetch_array(requete)'
          on peut appeler un variable du tableau par $valeur["nom_du_champ"]

          ce qui est impossible avec un '$valeur=mysql_fetch_row(requete)'. Dans ce cas, obligation d'appeler avec un $valeur[numero_du_champ]

          Voila, c'était pour en informer la communauté

          Merci