0

我有一个类似于以下的联接:

SELECT * FROM `users` u LEFT JOIN `columns` c ON u.id = c.user_id WHERE ....

但是,当我遍历结果集时,我发现id当我 echo out 时引用了错误表中的字段$row['id'];。它是从表中echo取出 idcolumns而不是从表中取出 id users

我尝试做类似的事情:echo $row['u.id'];但我得到一个未定义的索引错误。

我想知道为什么会这样,我该如何解决?

我很感激任何建议,

提前谢谢了!

4

1 回答 1

2

您遇到此问题是因为 MySQL 返回两个不同的id列,每个表中一个。要解决这种歧义,您可以将需要的列别名为可以保证唯一的名称。

例如:

SELECT u.id AS `users-id`, u.next_column
FROM users u
LEFT JOIN columns c...

所以在你的php中,你可以:

echo $row['users-id'];
于 2013-10-26T21:39:43.950 回答