Добрый вечер. Столкнулся с такой проблемой. Хотел вывести данные из двух совмещенных таблиц при помощи 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(); }
Понятно. Просто не совсем понял, что Вы имели ввиду. Теперь разобрался. Спасибо!!!
Похожие записи:
- Проблема при использовании fetchAll
- Тонкая оболочка C ++ для библиотеки sqlite3 C
- Добавление итераторов в класс оболочки C ++ sqlite
- Библиотека интроспекции VBA для SQLite
- Декодирование пакетного сценария, который использует FFMPEG, EXIFTOOLS и EXIV2 для создания панорамных изображений VR180 и VR360, таких как Google Cardboard