Bonjour à tous.

Je n'arrive pas a récupérer des données.

TB_MAP est defined = 'ma_table'

Soit une table:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
CREATE TABLE `ma_table` (
  `prenom`      varchar(20) NOT NULL default '',
  `nom`      	varchar(50) default NULL,
  `age`         tinyint(1) NOT NULL DEFAULT 0,
  `ville`       varchar(50) default NULL,
  `pays`        varchar(50) default NULL,
  PRIMARY KEY  (`prenom`)
) TYPE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;
Je souhaite retrouver l'age de Paul sachant qu'il n'y a qu'un
seul Paul dans ma base.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
 $prenom = 'Paul'; 
    $my_connect = mysql_connect($K['host'], $K['user'], $K['pass']);
    if (!$my_connect) { die('Could not connect: ' . mysql_error($my_connect));  } 
    mysql_select_db($K['name'],$my_connect) or die(mysql_error($my_connect));
    $query = "SELECT prenom
              FROM " . TB_MAP . "
              WHERE prenom = '" . $prenom . "'";
    $result = mysql_query($query,$my_connect) or die("Invalid query: " . mysql_error($my_connect).__LINE__.__FILE__);
    $stored  = mysql_fetch_array($result); 
 
    echo 'array length...: '.count($stored).'<br />';    // Pour tester seulement
 
    if ($stored['prenom'] == $prenom) { $age = $stored['age']; }  // le conditionnel est OK, pas l'assignation
 
 
      mysql_free_result($result);
      mysql_close($my_connect);
Problème:
1- count($stored) renvoie 2 alors que ce devrait être 5
2- dans la foulée et pour cause $stored['age'] est vide, mais pas $stored['prenom']...!

Pourquoi docteur...?

Ou est mon bug...?

Merci grandement pour une éventuelle solution.

Cordialement @ tous.

-= Guy =-