我的查询如下:
$sql = "
SELECT u.*, s.*
FROM bands u
inner join statuses s on u.status_id = s.id
WHERE u.status_id = 1
ORDER BY u.band_name";
我想从bands
表中输出ID,如下所示:
<?php while($row = $result->fetch_assoc()){ ?>
<tr>
<?php
echo '<td id="' . $row['id'] . '">This is the band</td>';
?>
</tr>
<?php }
但$row['id']
没有输出任何内容,我猜是因为某种模糊的列问题,但我不确定如何正确查询它。我也试过$row['u.id']
,但我不认为这是正确的别名用法,因为它也没有输出任何内容。
答案 0 :(得分:4)
您需要为id列创建非冲突别名;
SELECT u.*, s.*, u.id AS uid, s.id AS sid
FROM bands u
inner join statuses s on u.status_id = s.id
WHERE u.status_id = 1
ORDER BY u.band_name
然后,您可以将其选为$row['uid']
和$row['sid']
,并像往常一样访问其他列。冲突的id
列仍然存在,只是避免使用它。
答案 1 :(得分:1)
在相同的列名称上添加别名。前,
SELECT u.id UID,....
然后您现在可以使用其别名(例如.UID )
进行检索