2010-01-21 352 views
3

当我在PHP中查询MySQL数据库时,我无法弄清楚如何在结果集中指定字段的表。MySQL查询 - 结果表名

例如,我想做到以下几点:

$row = mysql_fetch_assoc($result); 

$row["table.FIELD"]; 

但是,无法弄清楚如何。当然,它可以以某种方式发生。

编辑:我检查了文档,并且什么都没发现。我不知道我是否一开始就被理解了......我知道如何从结果集中获取连续字段的值。但是,我希望能够通过在该字段前面指定表的名称来获取连续字段的值。

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

从上面的行,我想做后者。

感谢,

史蒂夫

回答

2

你把它作为$row[field_name]
如果你有相同的名字,但是两个不同表中的字段,你必须添加至少他们table.field的一个AS somthing_else

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

会给$row['id'],$row['t2_id']

而如果你使用AS将只得到$row['id'](一个值丢失了)。

1

这是最有可能在$行[ '字段'],这取决于你如何构造SQL语句。

尝试print_r($ row)来查看数组中的所有内容。

+0

我已经知道如何做到这一点。见上面的编辑。 – 2010-01-21 02:28:29

-1

documentation explains如何做你想要的,检查的例子。

+0

为什么downvote? – 2010-01-21 02:28:15

+0

对于这个特定的问题,RTFM很少是一个很好的答案。 OP询问是否有本地方式在结果中包含表名,以避免与连接表中的名称发生冲突。答案是:遗憾的是没有原生的方式 - 使用别名。 – jpeltoniemi 2012-08-22 14:29:58