include '../incs/connect.php';
$q=mysqli_query($con,"SELECT appl_reg_details.appl_id, appl_reg_details.apl_name, appl_reg_details.apl_email, rp_test_result.appl_status, rp_intv_result.intv_obt_marks
FROM appl_reg_details
INNER JOIN rp_test_result ON appl_reg_details.appl_id = rp_test_result.appl_id
INNER JOIN rp_intv_result ON rp_test_result.appl_id = rp_intv_result.appl_id
GROUP BY appl_reg_details.appl_id
");
WHILE($row=mysqli_fetch_array($q))
{
echo $row=['appl_id']." - ";
echo $row=['apl_name']." - ";
echo $row=['intv_obt_marks']." - ";
echo $row=['appl_status']." -";
echo $row=['apl_email']."<br/>";
}
我有3个表,我想从table1获取3个字段的数据,从表2和表3各得到1个字段,我发现内连接可以做到这一点,当我运行它时它说&#39;注意:数组到字符串转换&#39;, 请帮助纠正这个问题或提供新方法
答案 0 :(得分:1)
乍一看,查询看起来很好。
问题在于它下方的线条。它们包含不必要的=
:
echo $row=['apl_email']."<br/>";
这些行应该是这样的:
echo $row['apl_email']."<br/>";
答案 1 :(得分:0)
除了性能优势之外,GROUP BY除了混淆结果集外没有任何其他用途。尝试这样的事情,并修复由rjdown识别的编码错误:
SELECT DISTINCT d.appl_id
, d.apl_name
, d.apl_email
, t.appl_status
, i.intv_obt_marks
FROM appl_reg_details d
JOIN rp_test_result t
ON t.appl_id = d.appl_id
JOIN rp_intv_result i
ON r.appl_id = i.appl_id;