【发布时间】:2014-08-20 21:39:32
【问题描述】:
$q = $db->query("SELECT *
FROM people p
INNER JOIN job j
ON p.job_id = j.id
WHERE p.id = '$id'
ORDER BY j.id ASC");
$maps = array();
while($row = mysqli_fetch_array($q)) {
$product = array(
'id' => $row['id'],
'job_id' => $row['j.id']
)
}
餐桌上的人
id
表格作业
id
在上面的代码中,我在两个表之间进行内部连接。两个表都有一个名为id 的列,有没有办法在我的while loop 中区分两者?
我已经尝试了上述方法,但 $row['j.id'] 不起作用,如果我这样做 $row['id'],那么它会同时写入具有相同值的 id 和 job_id。
【问题讨论】:
-
您需要在选择数据时使用别名,最好只选择需要的而不是*。
-
在其中一列上添加“as [column name]”。这样您就可以指定您希望它以不同的方式命名。
-
从技术上讲,您还可以通过以数字模式获取并通过索引引用它们来访问这两个 ID 值......不过,我不推荐它。
标签: php mysql inner-join