2010-01-21 8 views
3

Lorsque j'interroge une base de données mysql en PHP, je n'arrive pas à comprendre comment spécifier la table du champ dans le jeu de résultats.Requête MySQL - Nom de la table des résultats

Par exemple, je voudrais faire ce qui suit:

$row = mysql_fetch_assoc($result); 

$row["table.FIELD"]; 

Mais, ne peut pas comprendre comment. Sûrement, cela peut arriver d'une manière ou d'une autre.

EDIT: J'ai vérifié la documentation et je n'ai rien trouvé. Je ne suis pas sûr si j'ai été compris au début ... Je sais comment obtenir la valeur d'un champ dans une rangée d'un ensemble de résultats. Mais, j'aimerais pouvoir obtenir la valeur d'un champ dans une rangée en spécifiant le nom de la table devant ce champ.

$row["FIELD"]; vs $row["table.FIELD"]; 

Depuis la ligne ci-dessus, je voudrais faire ce dernier.

Merci,

Steve

Répondre

2

Vous obtenez comme $row[field_name],
Et si vous avez deux champs avec le même nom, mais des tables différentes, vous devez ajouter au moins à l'un d'entre eux table.field AS somthing_else

SELECT t1.id,t2.id AS 't2_id' .... 
... 
... 
var_dump($row); 

sera donner $row['id'],$row['t2_id']

Alors que si vous ne pas utiliser leAS vous obtenez seulement $row['id'] (une valeur a été perdue).

1

Il est plus probable $ row [ 'CHAMP'], selon la façon dont vous structuré votre instruction SQL.

Essayez print_r ($ row) pour voir tout ce qui est dans le tableau.

+0

Je sais déjà comment faire. Voir modifier ci-dessus. –

-1

Le documentation explains comment faire ce que vous voulez, consultez les exemples.

+0

Pourquoi la downvote? –

+0

RTFM est rarement une bonne réponse à une question aussi spécifique. L'OP demandait s'il y avait une façon native d'inclure des noms de tables dans les résultats afin d'éviter les collisions avec les noms des tables jointes. La réponse est: il n'y a malheureusement pas de façon native - utilisez des alias. – jpeltoniemi

Questions connexes