Столбец не найден: 1054 неизвестных столбца ‘locations.id ‘ в ‘предложении on

#php #sql #phpmyadmin #dao

#php #sql #phpmyadmin #dao

Вопрос:

Я пытаюсь загрузить действия из базы данных с определенным местоположением. Я пытаюсь сделать это с помощью этого запроса:

 public function selectAllActivities(){
    $sql = "SELECT * FROM `activities` INNER JOIN `locations` on `activities`.`location_id` = `locations.id`";
    $stmt = $this->pdo->prepare($sql);
    $stmt->execute();
    return $stmt->fetchAll(PDO::FETCH_ASSOC);
  }
  

Однако, когда я загружаю веб-сайт, я получаю эту ошибку:

 Column not found: 1054 Unknown column 'locations.id' in 'on clause
  

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

1. Какие столбцы находятся в таблице местоположений?

2. @JayBlanchard идентификатор и имя

Ответ №1:

Это опечатка, но я не могу объяснить это в комментарии из-за обратных ссылок.

Это :

 `locations.id`
  

Подразумевается, что

 //        v-v------- Notice the backticks
`locations`.`id`
  

Ответ №2:

Вы пробовали

  `activities`.`location_id` = `locations`.`id`
  

Внутренние соединения должны выглядеть как

 ON table1.column_name = table2.column_name;
  

Вы можете прочитать больше по этому URL

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

1. в нем уже сказано, что ВНУТРЕННЕЕ СОЕДИНЕНИЕ locations включено activities . location_id = locations.id »