小编典典

如何在联接的表上使用mysql_fetch_array,但是列具有相同的名称

sql

我有两个表,它们共享相似的列名。

查询是:

SELECT a.name,b.name
FROM tablea a 
JOIN tableb b ON a.id = b.id

结果放入一个数组中:

while ($row = mysql_fetch_array($results)){
   $aname = $row['name'];
}

一旦我添加了第二张表,我注意到该表$aname正在使用tableb的数据。

问题
(S):如何存储两个name列,$row['a.name']所以不起作用。我的猜测可能是我需要对查询中的每个结果进行别名化。有什么建议?
我是否应该避免将来再提供列名


I know mysql_* is deprecated. Save your energy.


阅读 211

收藏
2021-04-19

共1个答案

小编典典

你的猜测是对的。您需要ALIAS为各列创建一个,以便可以唯一地获取它,

SELECT a.name Name1, b.name Name2
FROM tablea a 
JOIN tableb b ON a.id = b.id

那你现在可以打电话

$row['Name1']
2021-04-19