mysqli_fetch_array不知道连接select语句mysql php的返回值

时间:2014-09-15 21:09:08

标签: php mysql

我正在研究数据库系统,我需要从数据库中返回值,然后将它们放在表格中,当我尝试运行网页时,我会使用join语句,它会出现此错误消息:

  

注意:未定义的索引:student.name in ...

以下是我的代码的一部分

   if (isset($_POST['submit_exam'])){
        $gerayesh_id=mysqli_real_escape_string($cnn,$_POST['gerayesh_id']);
        $exam_number=mysqli_real_escape_string($cnn,$_POST['exam_number']);
        $query="SELECT student.name , student.lname , student.student_id , exam.exam_number , exam.exam_id FROM";
        $query.=" exam  JOIN exam_register  on exam.exam_id=exam_register.exam_id";
        $query.=" JOIN student  on student.student_id=exam_register.student_id";
        $query.=" WHERE (exam.gerayesh_id=$gerayesh_id)";
        $query.=" AND (exam.exam_number=$exam_number)";
        $result=mysqli_query($cnn,$query);
        if($result){
        echo "<form method=\"post\" action=\"manage_add_result.php\"  target=\"_blank\" style=\"float:right;\">";
    echo "<table >";
        echo    "<tr>";
                echo "<th>&#1606;&#1575;&#1605;</th>";
                echo "<th>&#1606;&#1575;&#1605; &#1582;&#1608;&#1575;&#1606;&#1608;&#1575;&#1583;&#1711;&#1740;</th>";
                echo"<th>&#1588;&#1605;&#1575;&#1585;&#1607; &#1570;&#1586;&#1605;&#1608;&#1606;</th>";
                echo "<th>&#1575;&#1606;&#1578;&#1582;&#1575;&#1576;</th>";


            echo"</tr>";
    while($row=mysqli_fetch_array($result) ){

            echo"<tr>";
            echo"<td>{$row['student.name']}</td>";
            echo "<td>{$row['student.lname']}</td>";
            echo "<td>{$row['exam.exam_number']}</td>";
            echo "<td><input type=\"checkbox\" value=\" {$row['student.student_id']}\" name=\"student_id\"/></td>";
            echo "<input type=hidden name=exam_id value=\"{$row['exam.exam_id']}\">";


            echo"</tr>";        

     }
    // $row=mysqli_fetch_array($result);

     echo"</table>";
         echo "<input type=\"submit\" name=\"submit_student\" value=\"&#1570;&#1662;&#1604;&#1608;&#1583; &#1705;&#1575;&#1585;&#1606;&#1575;&#1605;&#1607;;\">";
     echo "</form>";



        } else{echo mysqli_error($cnn);}


    }

错误未定义索引显示应该在表中显示的所有变量 我想知道我能做些什么 谢谢你的时间

1 个答案:

答案 0 :(得分:1)

关联数组中的键只是列名,而不是table.column。所以使用:

        echo"<td>{$row['name']}</td>";
        echo "<td>{$row['lname']}</td>";
        echo "<td>{$row['exam_number']}</td>";
        echo "<td><input type=\"checkbox\" value=\" {$row['student_id']}\" name=\"student_id\"/></td>";
        echo "<input type=hidden name=exam_id value=\"{$row['exam_id']}\">";

如果从不同的表中返回具有相同名称的列,则需要为它们提供别名以便能够引用它们。这不是您的查询的问题,SELECT子句中的所有列名都不同。