Добрый вечер. Столкнулся с такой проблемой. Хотел вывести данные из двух совмещенных таблиц при помощи INNER JOIN но увы не получилось. Пожалуйста помогите найти косяк. Целый день уже бьюсь Код (Text): function inner($connect){ try{ $sql = "SELECT `teacher.name`, `lesson.less` FROM `teacher` INNER JOIN `lesson` ON 'teacher.id' = 'lesson.teacher_id'"; $prepare = $connect->prepare($sql); $prepare->execute(); while($daster = $prepare->fetch(PDO::FETCH_ASSOC)){ $result = "<ol><li>Имя преподавателя: ".$daster['name']." Предмет: ".$daster['lesson']."</li></ol>"; echo $result; } }catch(PDOException $e){ echo"Ошибка подключения".$e->getMessage(); } } echo inner($connect);
Кавычки после ON неправильные. И в целом в составных именах составляющие нужно брать в отдельные кавычки, т.е. после SELECT тоже неправильно. И здесь INNER JOIN – скорее всего из пушки по воробьям. По идее нужен LEFT JOIN.
Большое спасибо. Вопрос решил. PHP: function inner($connect){ try{ $sql = "SELECT teacher.name, lesson.less FROM teacher INNER JOIN lesson ON teacher.id = lesson.teacher_id"; $prepare = $connect->prepare($sql); $prepare->execute(); while($daster = $prepare->fetch(PDO::FETCH_BOTH)){ $result = "<ol><li>Имя преподавателя: ".$daster['name']." Предмет: ".$daster['less']."</li></ol>"; echo $result; } }catch(PDOException $e){ echo"Ошибка подключения".$e->getMessage(); }