我有一个类似于以下内容的连接:
SELECT * FROM `users` u LEFT JOIN `columns` c ON u.id = c.user_id WHERE ....
但是,当我循环访问结果集时,我发现当我回显$row['id'];
时,引用了错误表中的id
字段。它echo
从columns
表中取出 id,而不是从users
表中取出 id。
我尝试做类似的事情:echo $row['u.id'];
但我得到了一个未定义的索引错误。
我想知道为什么会这样以及如何解决它?
我感谢任何建议,
提前非常感谢!
您遇到此问题是因为MySQL返回两个不同的id
列,每个表一个。若要解决这种多义性,可以将所需的列别名化为可以保证唯一的名称。
例如:
SELECT u.id AS `users-id`, u.next_column
FROM users u
LEFT JOIN columns c...
所以在你的 php 中,你可以:
echo $row['users-id'];