区分列在MySQL中使用PHP

时间:2009-10-12 06:45:42

标签: php mysql

如果我有这个查询:

SELECT tableA.Id, tableB.Id FROM tableA JOIN tableB ON (tableA.bId = tableB.Id)

现在,如果我在php中尝试这个,我有一些问题:

while($result = mysql_fetch_array(mysql_query(/Query Above/)){
    print $result['tableB.Id'];
}

现在我知道你要说的是我应该做我的查询:

SELECT tableA.Id AS aId, tableB.Id AS bId 
FROM tableA 
JOIN tableB ON (tableA.bId = tableB.Id)

然后使用:$result['bId']

但事实是查询实际上是这样的:

SELECT tableA.*, tableB.* FROM tableA JOIN tableB ON (tableA.bId = tableB.Id)

有没有办法在不为每个匹配行执行AS的情况下在PHP中获得结果?

由于

1 个答案:

答案 0 :(得分:4)

根据PHP手册,你不能这样做:

“如果结果的两列或多列具有相同的字段名称,则最后一列优先。要访问同名的其他列,您需要使用数字索引访问结果mysql_fetch_row()或添加别名。“

比照http://www.php.net/manual/en/function.mysql-fetch-assoc.php