Php не может получить идентификатор объекта с внешним ключом

#php

#php

Вопрос:

я пытаюсь получить идентификатор объекта с внешним ключом, но это не работает.

 $sql2 = "SELECT a.*, q.* FROM answer a inner join question q on a.question_id = q.id WHERE a.question_id = 1";

$result2 = $conn ->query($sql2);

while($row2 = $result2->fetch_assoc()) {
    echo "<input name='group1' type='radio' id='". $row2['id'] ."' />" . "<label for='". $row2['id'] ."'>".$row2['answer_text']."</label>";
}
  

Комментарии:

1. Не возвращает ли это ошибку?

2. нет, это работает с answer_text, но значение id всегда равно 1

Ответ №1:

 $result2 = $conn ->query($sql2);
  

После него нет пробела $conn

Попробуйте это без пробела:

 $result2 = $conn->query($sql2);
  

Комментарии:

1. если вы хотите выбрать все ответы, связанные с вопросом, попробуйте этот код: "SELECT a.*, q.* FROM answer AS a INNER JOIN question AS q ON a.question_id = q.id"

2. все та же $row [‘id’] всегда равна 1

3. если вам нужен индивидуальный ответ на вопрос, вы передаете динамический идентификатор, используя СУПЕР ГЛОБАЛЬНУЮ переменную $_GET следующим образом: WHERE a.question_id = $_GET['id']

4. это работает над вопросом, он отображает их все, но почему-то в поле id это не работает, мне нужно это поле id, чтобы создать другой идентификатор для радиокнопок

5. Попробуйте это: "SELECT a.id as answer_id, a.*, q.id as question_id, q.* FROM answer a inner join question q on a.question_id = q.id WHERE a.question_id = 1" ; while($row2 = $result2->fetch_assoc()) { echo "<input name='group1' type='radio' id='". $row2['answer_id'] ."' />" . "<label for='". $row2['question_id'] ."'>".$row2['answer_text']."</label>"; }