Проблемы получения информации из таблицы join для отображения в PHP

{Соединение 2 таблиц вместе (с идентификатором учителя и именем учителя)

Я создал соединение и протестировал его в SQL. Вроде неплохо. Я пытаюсь напечатать его на экране.

$classandteacher = "SELECT person_name FROM people RIGHT OUTER JOIN classes ON classes.instructor_id=people.instructor_id ASC";

$result = mysqli_query($dbc, $classandteacher){

            while($row = mysqli_query($dbc, $result));

            $teacher = $row["person_name"];
            echo ("Teacher: " . $teacher . "<br>");}

2 ответа

  1. Это потому, что цикл While неправильно отформатирован.

    Извлеките ;и положите его в {}

    Вы также должны использоватьmysqli_fetch_assoc($result), чтобы получить Arrayиз запроса

    $classandteacher = "SELECT person_name FROM people RIGHT OUTER JOIN classes ON classes.instructor_id=people.instructor_id ASC";
    
        $result = mysqli_query($dbc, $classandteacher);
    
        if(!$result) { //If your MYSQL query is throwing an error
           error_log(mysqli_error());
        }
    
    
        while($row = mysqli_fetch_assoc($result))
        {
          $teacher = $row["person_name"];
          echo "Teacher: " . $teacher . "<br>";
         }
    
  2. Или попробуйте использовать
    mysqli_fetch_array вместо

    $classandteacher = 
    "SELECT 
    person_name FROM 
    people RIGHT OUTER     JOIN classes ON 
    classes.instructor_id
    =
    peopleinstructor_id     ASC";
    $result =  
    mysqli_query($dbc,$     classandteacher);
    if(!$result) { //If 
    your MYSQL query is 
    throwing an error
    error_log(mysqli_er
    ror() );}
    while($row = 
    mysqli_fetch_array(
    $result))
    {
     $teacher = $row
    ["person_name"];
      echo "Teacher: " . $
    teacher . "<br>"; }