2014-09-10 6 views
0

У меня есть 3 таблицы, ведьма называется учеником, а экзамен и экзамен_регистр. Таблица экзаменов содержит информацию об экзаменах. Exam_register содержит информацию о студентах, которые зарегистрировались на некоторых экзаменах в exam_register. У меня есть student_id в качестве внешнего ключа я должен возвращать данные студентов для тех, кто подписан на конкретные экзамены, так что я попробовал этотmysqli синтаксическая ошибка при попытке слишком объединиться в двух таблицах

<?php 
    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 s.name , s.lname , s.student_id , e.exam_number e.exam_id FROM"; 
     $query.=" exam e JOIN exam_register r on e.exam_id=r.exam_id"; 
     $query.=" JOIN student s on s.student_id=r.student_id"; 
     $query.=" WHERE (e.gerayesh_id=$gerayesh_id)"; 
     $query.=" AND (e.exam_number=$exam_number)"; 
     $result=mysqli_query($cnn,$query); 
     if($result){ 
     echo "<form method=\"post\" action=\"mange_add_result.php\" 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['s.name']}</td>"; 
      echo "<td>{$row['s.lname']}</td>"; 
      echo "<td>{$row['e.exam_number']}</td>"; 
      echo "<td><input type=\"checkbox\" value=\" {$row['s.student_id']}\" name=\"student_id\"/></td>"; 


      echo"</tr>";   

    } 
    $row=mysqli_fetch_array($result); 

    echo"</table>"; 
    //echo "<input type=\"hidden\" name=\"exam_id\" value=\"$row['e.exam_id']\">"; 
     echo "<input type=\"submit\" name=\"submit\" value=\"&#1570;&#1662;&#1604;&#1608;&#1583; &#1705;&#1575;&#1585;&#1606;&#1575;&#1605;&#1607;\">"; 
    echo "</form>"; 



     } else{echo mysqli_error($cnn);} 


    } 

?> 

, но я получаю сообщение об ошибке, и это говорит

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.exam_id FROM exam e JOIN exam_register r on e.exam_id=r.exam_id JOIN student s ' at line 1 

спасибо за вашу помощь

+0

Вы пропустили запятую здесь 'e.exam_number e.exam_id'. –

ответ

0

Вы забыли saparate поля с запятой (,) после e.exam_number и перед e.exam_id.

1

В вашем запросе отсутствует запятая.

$query="SELECT s.name , s.lname , s.student_id , e.exam_number e.exam_id FROM"; 
                  ^

Изменить его

$query="SELECT s.name , s.lname , s.student_id , e.exam_number, e.exam_id FROM"; 
+0

спасибо большое, но теперь я получаю эту ошибку Неизвестный столбец «r.student_id» в разделе «on» –

+0

@ MortezaAzmoodehafshar.Проверьте, есть ли в этой таблице поле с именем 'student_id'. – Jenz

Смежные вопросы