我正在尝试回复员工姓名和经理姓名
SELECT *
FROM `form`
INNER JOIN `emp` AS employee
ON `form`.emp_ID = employee.emp_ID
INNER JOIN `emp` AS manager
ON `form`.manager_ID = manager.emp_ID
while($row = $result->fetch_assoc()){
echo $row['emp_name'];
}
始终输出经理名称。
尝试了以下方法:
$row['employee.emp_name']
$row['employee']['emp_name']
哪一切都行不通。
感谢任何帮助
答案 0 :(得分:1)
当列具有相同名称时,在fetch_assoc()
检索时,它们的值将重叠。您可以使用fetch_array()
并通过数字索引引用列(不推荐使用SELECT *
,因为您无法轻松保证列的顺序),或者您必须明确列出列名称,别名他们。例如:
SELECT emp.emp_name emp_emp_name, manager.emp_name manager_emp_name, ...
这会在结果中为您提供单独的明确命名的字段,然后您可以从fetch_assoc()
返回的内容进行访问。